home *** CD-ROM | disk | FTP | other *** search
/ Aminet 37 / Aminet 37 (2000)(Schatztruhe)[!][Jun 2000].iso / Aminet / dev / lang / sofa.lha / sofa / smalleiffel / bin_c / compile_to_c6.c < prev    next >
C/C++ Source or Header  |  2000-03-25  |  106KB  |  4,641 lines

  1. /*
  2. -- ANSI C code generated by :
  3. -- SmallEiffel The GNU Eiffel Compiler -- Release (- 0.76Beta#1)--
  4. -- Copyright (C), 1994-98 - LORIA - UHP - CRIN - INRIA - FRANCE --
  5. -- Dominique COLNET and Suzanne COLLIN -    colnet@loria.fr     --
  6. --                  http://SmallEiffel.loria.fr/                --
  7. */
  8. #include "compile_to_c.h"
  9.  
  10.  
  11. T0* r140run_feature_for(T140* C,T0* a1,T0* a2){
  12. T0* R=NULL;
  13. T0* _bc=NULL;
  14. T0* _rt=NULL;
  15. T0* _rc=NULL;
  16. _rt=X104result_type(a1);
  17. /*[IF*/
  18. if((_rt)!=((void*)(NULL))){
  19. _rc=X52run_class(_rt);
  20. /*[IF*/
  21. if((_rc)!=((void*)(NULL))){
  22. _bc=r50base_class(((T50*)_rc));
  23. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*8*/),a2);
  24. }
  25. /*FI]*/
  26. }
  27. /*FI]*/
  28. /*[IF*/
  29. if((R)==((void*)(NULL))){
  30. {T68 se_tmp0;
  31. r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
  32. }
  33. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  34. r7append((T7*)(oBC66explanation),b1);
  35. }/*]*/
  36. r66print_as_fatal_error((T66*)(oBC13eh));
  37. }
  38. /*FI]*/
  39. return R;
  40. }
  41.  
  42.  
  43. T0* r140static_result_base_class(T140* C){
  44. T0* R=NULL;
  45. T0* _cn=NULL;
  46. T0* _rt=NULL;
  47. T0* _e_feature=NULL;
  48. T0* _bc=NULL;
  49. _bc=X104static_result_base_class((/*RF2*/(C)->_target/*4*/));
  50. /*[IF*/
  51. if((_bc)!=((void*)(NULL))){
  52. _e_feature=r51e_feature(((T51*)_bc),(/*RF2*/(C)->_feature_name/*8*/));
  53. /*[IF*/
  54. if((_e_feature)!=((void*)(NULL))){
  55. _rt=X90result_type(_e_feature);
  56. /*[IF*/
  57. if((_rt)!=((void*)(NULL))){
  58. _cn=X52static_base_class_name(_rt);
  59. /*[IF*/
  60. if((_cn)!=((void*)(NULL))){
  61. R=r61base_class(((T61*)_cn));
  62. }
  63. /*FI]*/
  64. }
  65. /*FI]*/
  66. }
  67. /*FI]*/
  68. }
  69. /*FI]*/
  70. return R;
  71. }
  72.  
  73.  
  74. void r140make(T140* C,T0* a1,T0* a2){
  75. (/*SFN*/C->_target)=a1;
  76. (/*SFN*/C->_feature_name)=a2;
  77. }
  78.  
  79.  
  80. void r140fatal_error(T0* a1){
  81. /*[IRF3.6append*/{T0* b1=a1;
  82. r7append((T7*)(oBC66explanation),b1);
  83. }/*]*/
  84. r66print_as_fatal_error((T66*)(oBC13eh));
  85. }
  86.  
  87.  
  88. void r140assertion_check(T140* C,T3 a1){
  89. /*[IF*/
  90. if((a1)==(((T3)'R'))){
  91. {T68 se_tmp0;
  92. X334vape_check_from((/*RF2*/(C)->_run_feature/*12*/),(*(se_tmp0=r140start_position(C),&se_tmp0)));
  93. }
  94. }
  95. /*FI]*/
  96. X104assertion_check((/*RF2*/(C)->_target/*4*/),a1);
  97. }
  98.  
  99.  
  100. void r140compile_to_c(T140* C){
  101. T0* _n=NULL;
  102. _n=X82to_string((/*RF2*/(C)->_feature_name/*8*/));
  103. /*[IF*/
  104. if((((T0*)ms15_34432))==((void*)(_n))){
  105. /*[IF*/
  106. if(X52is_expanded(X52run_type(X104result_type((/*RF2*/(C)->_target/*4*/))))){
  107. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  108. T3 b1=((T3)'1');
  109. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  110. }/*]*/
  111. /*]*/
  112. }
  113. else{
  114. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  115. T3 b1=((T3)'0');
  116. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  117. }/*]*/
  118. /*]*/
  119. }
  120. /*FI]*/
  121. }
  122.  else if((((T0*)ms15_60104))==((void*)(_n))){
  123. /*[IF*/
  124. if(X52is_basic_eiffel_expanded(X104result_type((/*RF2*/(C)->_target/*4*/)))){
  125. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  126. T3 b1=((T3)'1');
  127. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  128. }/*]*/
  129. /*]*/
  130. }
  131. else{
  132. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  133. T3 b1=((T3)'0');
  134. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  135. }/*]*/
  136. /*]*/
  137. }
  138. /*FI]*/
  139. }
  140. else{
  141. /*[IRF3.6call_proc_call_c2c*/{T140* C1=C;
  142. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  143. }/*]*/
  144. }
  145. /*FI]*/
  146. }
  147.  
  148.  
  149. T6 r140stupid_switch(T140* C,T0* a1){
  150. T6 R=0;
  151. R=r140call_proc_call_stupid_switch(C,a1);
  152. /*[IF*/
  153. if(R){
  154. R=!(X52is_native_array(r140result_type(C)));
  155. }
  156. /*FI]*/
  157. return R;
  158. }
  159.  
  160.  
  161. T6 r140is_pre_computable(T140* C){
  162. T6 R=0;
  163. /*[IF*/
  164. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  165. R=X334is_pre_computable((/*RF2*/(C)->_run_feature/*12*/));
  166. }
  167. /*FI]*/
  168. return R;
  169. }
  170.  
  171.  
  172. T68 r140start_position(T140* C){
  173. T68 R={NULL,0};
  174. {T68 se_tmp0;
  175. R=(*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0));
  176. }
  177. return R;
  178. }
  179.  
  180.  
  181. void r215make(T215* C,T0* a1,T0* a2,T0* a3){
  182. (/*SFN*/C->_header_comment)=a1;
  183. (/*SFN*/C->_first_one)=a2;
  184. (/*SFN*/C->_remainder)=a3;
  185. }
  186.  
  187.  
  188. void r215fatal_error(T0* a1){
  189. /*[IRF3.6append*/{T0* b1=a1;
  190. r7append((T7*)(oBC66explanation),b1);
  191. }/*]*/
  192. r66print_as_fatal_error((T66*)(oBC13eh));
  193. }
  194.  
  195.  
  196. void r215afd_check(T215* C){
  197. T2 _i=0;
  198. _i=r215count(C);
  199. while (!((_i)==(0)))
  200. {
  201. X151afd_check(r215item(C,_i));
  202. _i=(_i)-(1);
  203. }
  204. }
  205.  
  206.  
  207. void r215compile_to_c(T215* C){
  208. T6 _no_check=0;
  209. T6 _need_se_tmp=0;
  210. T0* _instruction=NULL;
  211. T2 _c=0;
  212. T2 _i=0;
  213. r325one_more_instruction_generated((T325*)(oBC13cpp));
  214. _no_check=r47no_check((T47*)(oBC13run_control));
  215. _i=1;
  216. _c=r215count(C);
  217. while (!((_i)>(_c)))
  218. {
  219. _instruction=r215item(C,_i);
  220. X151collect_c_tmp(_instruction);
  221. _need_se_tmp=r325se_tmp_open_declaration((T325*)(oBC13cpp));
  222. X151compile_to_c(_instruction);
  223. r325one_more_instruction_generated((T325*)(oBC13cpp));
  224. /*[IF*/
  225. if(_need_se_tmp){
  226. r325se_tmp_close_declaration((T325*)(oBC13cpp));
  227. }
  228. /*FI]*/
  229. _i=(_i)+(1);
  230. }
  231. }
  232.  
  233.  
  234. T6 r215stupid_switch(T215* C,T0* a1){
  235. T6 R=0;
  236. T2 _i=0;
  237. R=1;
  238. _i=r215count(C);
  239. while (!((!(R))||((_i)==(0))))
  240. {
  241. R=X151stupid_switch(r215item(C,_i),a1);
  242. _i=(_i)-(1);
  243. }
  244. return R;
  245. }
  246.  
  247.  
  248. T6 r215use_current(T215* C){
  249. T6 R=0;
  250. T2 _i=0;
  251. _i=r215count(C);
  252. while (!((R)||((_i)==(0))))
  253. {
  254. R=X151use_current(r215item(C,_i));
  255. _i=(_i)-(1);
  256. }
  257. return R;
  258. }
  259.  
  260.  
  261. T0* r215to_runnable(T215* C,T0* a1){
  262. T0* R=NULL;
  263. T0* _i2=NULL;
  264. T0* _i1=NULL;
  265. T2 _i=0;
  266. /*[IF*/
  267. if(((/*RF2*/(C)->_first_one/*8*/))==((void*)(NULL))){
  268. R=((T0*)(C));
  269. }
  270.  else if(((/*RF2*/(C)->_current_type/*4*/))==((void*)(NULL))){
  271. (/*SFN*/C->_current_type)=a1;
  272. _i=r215count(C);
  273. while (!((_i)==(0)))
  274. {
  275. _i1=r215item(C,_i);
  276. _i2=X151to_runnable(_i1,a1);
  277. /*[IF*/
  278. if((/*(IRF4.9nb_errors*/(/*RF2*/((T66*)(oBC13eh))->_error_counter/*0*/)/*)*/)>(0)){
  279. /*[IRF3.6append*/{T0* b1=((T0*)ms215_58608);
  280. r7append((T7*)(oBC66explanation),b1);
  281. }/*]*/
  282. /*[IRF3.6append*/{T0* b1=X52written_mark((/*RF2*/(C)->_current_type/*4*/));
  283. r7append((T7*)(oBC66explanation),b1);
  284. }/*]*/
  285. {T68 se_tmp0;
  286. r66add_position((*(se_tmp0=X151start_position(_i1),&se_tmp0)));
  287. }
  288. r215fatal_error(((T0*)ms215_174));
  289. }
  290. else{
  291. r215put(C,_i2,_i);
  292. }
  293. /*FI]*/
  294. _i=(_i)-(1);
  295. }
  296. R=((T0*)(C));
  297. }
  298. else{
  299. {T215*n=((T215*)malloc(sizeof(*n))/*16*/);
  300. *n=M215;
  301. r215from_compound(n,(T0*)C);
  302. R=((T0*)n);
  303. }
  304. R=r215to_runnable(((T215*)R),a1);
  305. }
  306. /*FI]*/
  307. return R;
  308. }
  309.  
  310.  
  311. void r215put(T215* C,T0* a1,T2 a2){
  312. /*[IF*/
  313. if((a2)==(1)){
  314. (/*SFN*/C->_first_one)=a1;
  315. }
  316. else{
  317. /*[IRF3.5put*/((/*RF2*/((T216*)((/*RF2*/(C)->_remainder/*12*/)))->_storage/*0*/))[(a2)-(2)]=(a1);
  318. /*]*/
  319. }
  320. /*FI]*/
  321. }
  322.  
  323.  
  324. T2 r215count(T215* C){
  325. T2 R=0;
  326. /*[IF*/
  327. if(((/*RF2*/(C)->_first_one/*8*/))==((void*)(NULL))){
  328. }
  329.  else if(((/*RF2*/(C)->_remainder/*12*/))!=((void*)(NULL))){
  330. R=((/*RF2*/((T216*)((/*RF2*/(C)->_remainder/*12*/)))->_upper/*8*/))+(2);
  331. }
  332. else{
  333. R=1;
  334. }
  335. /*FI]*/
  336. return R;
  337. }
  338.  
  339.  
  340. T6 r215is_pre_computable(T215* C){
  341. T6 R=0;
  342. T2 _i=0;
  343. _i=r215count(C);
  344. R=1;
  345. while (!((!(R))||((_i)==(0))))
  346. {
  347. R=X151is_pre_computable(r215item(C,_i));
  348. _i=(_i)-(1);
  349. }
  350. return R;
  351. }
  352.  
  353.  
  354. void r215from_compound(T215* C,T0* a1){
  355. (/*SFN*/C->_header_comment)=(/*RF2*/(((T215*)a1))->_header_comment/*0*/);
  356. (/*SFN*/C->_first_one)=(/*RF2*/(((T215*)a1))->_first_one/*8*/);
  357. (/*SFN*/C->_remainder)=(/*RF2*/(((T215*)a1))->_remainder/*12*/);
  358. /*[IF*/
  359. if(((/*RF2*/(C)->_remainder/*12*/))!=((void*)(NULL))){
  360. (/*SFN*/C->_remainder)=r216twin((T216*)((/*RF2*/(C)->_remainder/*12*/)));
  361. }
  362. /*FI]*/
  363. }
  364.  
  365.  
  366. T68 r215start_position(T215* C){
  367. T68 R={NULL,0};
  368. /*[IF*/
  369. if((r215count(C))>(0)){
  370. {T68 se_tmp0;
  371. R=(*(se_tmp0=X151start_position((/*RF2*/(C)->_first_one/*8*/)),&se_tmp0));
  372. }
  373. }
  374. /*FI]*/
  375. return R;
  376. }
  377.  
  378.  
  379. T0* r215item(T215* C,T2 a1){
  380. T0* R=NULL;
  381. /*[IF*/
  382. if((a1)==(1)){
  383. R=(/*RF2*/(C)->_first_one/*8*/);
  384. }
  385. else{
  386. R=/*(IRF4.6item*/((/*RF2*/((T216*)((/*RF2*/(C)->_remainder/*12*/)))->_storage/*0*/))[(a1)-(2)]/*)*/;
  387. }
  388. /*FI]*/
  389. return R;
  390. }
  391.  
  392.  
  393. void r298fe_c2c(T0* a1){
  394. {T68 se_tmp0;
  395. r66add_position((*(se_tmp0=X334start_position(a1),&se_tmp0)));
  396. }
  397. r298fatal_error(((T0*)ms288_129648));
  398. }
  399.  
  400.  
  401. T6 r298stupid_switch_function(T0* a1,T0* a2){
  402. T6 R=0;
  403. return R;
  404. }
  405.  
  406.  
  407. void r298fatal_error(T0* a1){
  408. /*[IRF3.6append*/{T0* b1=a1;
  409. r7append((T7*)(oBC66explanation),b1);
  410. }/*]*/
  411. r66print_as_fatal_error((T66*)(oBC13eh));
  412. }
  413.  
  414.  
  415. T6 r298stupid_switch_procedure(T0* a1,T0* a2){
  416. T6 R=0;
  417. return R;
  418. }
  419.  
  420.  
  421. T2 r388static_value_mem(T388* C){
  422. T2 R=0;
  423. R=X104static_value((/*RF2*/(C)->_value/*28*/));
  424. return R;
  425. }
  426.  
  427.  
  428. T2 r388id(T388* C){
  429. T2 R=0;
  430. R=X52id((/*RF2*/(C)->_current_type/*8*/));
  431. return R;
  432. }
  433.  
  434.  
  435. T6 r388use_current(T388* C){
  436. T6 R=0;
  437. {int z1=(/*RF2*/(C)->_use_current_state/*16*/);
  438.  
  439. if((22==z1)){
  440. R=1;
  441. }
  442.  else 
  443. if((21==z1)){
  444. }
  445.  else 
  446. if((23==z1)){
  447. (/*SFN*/C->_use_current_state)=24;
  448. /*[IRF3.3compute_use_current*/((((T388*)(C)))->_use_current_state)=(21);
  449. /*]*/
  450. R=((/*RF2*/(C)->_use_current_state/*16*/))==(22);
  451. }
  452.  else {R=1;
  453. }}
  454. return R;
  455. }
  456.  
  457.  
  458. void r388fall_down(T388* C){
  459. T0* _rf=NULL;
  460. T0* _sub_name=NULL;
  461. T0* _sub_bc=NULL;
  462. T0* _current_bc=NULL;
  463. T0* _sub_rc=NULL;
  464. T0* _current_rc=NULL;
  465. T2 _i=0;
  466. T0* _running=NULL;
  467. _current_rc=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  468. _running=(/*RF2*/(((T50*)_current_rc))->_running/*9*/);
  469. /*[IF*/
  470. if((_running)!=((void*)(NULL))){
  471. _current_bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  472. _i=(/*RF2*/(((T53*)_running))->_lower/*12*/);
  473. while (!((_i)>((/*RF2*/(((T53*)_running))->_upper/*8*/))))
  474. {
  475. _sub_rc=r53item(((T53*)_running),_i);
  476. /*[IF*/
  477. if((_sub_rc)!=((void*)(_current_rc))){
  478. _sub_bc=X52base_class((/*RF2*/(((T50*)_sub_rc))->_current_type/*0*/));
  479. _sub_name=r51new_name_of(((T51*)_sub_bc),_current_bc,(/*RF2*/(C)->_name/*12*/));
  480. _rf=r50get_feature(((T50*)_sub_rc),_sub_name);
  481. }
  482. /*FI]*/
  483. _i=(_i)+(1);
  484. }
  485. }
  486. /*FI]*/
  487. }
  488.  
  489.  
  490. T6 r388is_static(T388* C){
  491. T6 R=0;
  492. R=X104is_static((/*RF2*/(C)->_value/*28*/));
  493. return R;
  494. }
  495.  
  496.  
  497. T6 r388is_exported_in(T388* C,T0* a1){
  498. T6 R=0;
  499. R=r99gives_permission_to((T99*)(r388clients(C)),a1);
  500. return R;
  501. }
  502.  
  503.  
  504. T0* r388clients(T388* C){
  505. T0* R=NULL;
  506. T0* _bfbc=NULL;
  507. T0* _bc=NULL;
  508. /*[IF*/
  509. if(((/*RF2*/(C)->_clients_memory/*4*/))==((void*)(NULL))){
  510. _bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  511. _bfbc=/*SSWARF2*//*X199base_class*/(/*RF2*/((T211*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/);
  512. /*[IF*/
  513. if((_bc)==((void*)(_bfbc))){
  514. R=/*SSWARF2*//*X199clients*/(/*RF2*/((T211*)((/*RF2*/(C)->_base_feature/*24*/)))->_clients/*16*/);
  515. }
  516. else{
  517. R=r51clients_for(((T51*)_bc),(/*RF2*/(C)->_name/*12*/));
  518. }
  519. /*FI]*/
  520. (/*SFN*/C->_clients_memory)=R;
  521. }
  522. else{
  523. R=(/*RF2*/(C)->_clients_memory/*4*/);
  524. }
  525. /*FI]*/
  526. return R;
  527. }
  528.  
  529.  
  530. void r388address_of_c_define(T388* C,T0* a1){
  531. {T68 se_tmp0;
  532. r66add_position((*(se_tmp0=r150start_position(((T150*)a1)),&se_tmp0)));
  533. }
  534. {T68 se_tmp0;
  535. r66add_position((*(se_tmp0=r388start_position(C),&se_tmp0)));
  536. }
  537. r388fatal_error(((T0*)ms388_106339));
  538. }
  539.  
  540.  
  541. T0* r388run_class(T388* C){
  542. T0* R=NULL;
  543. R=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  544. return R;
  545. }
  546.  
  547.  
  548. void r388make(T388* C,T0* a1,T0* a2,T0* a3){
  549. (/*SFN*/C->_current_type)=a1;
  550. (/*SFN*/C->_name)=a2;
  551. (/*SFN*/C->_base_feature)=a3;
  552. r50add_rf((T50*)(r388run_class(C)),(T0*)C,X82to_key(a2));
  553. r49incr_magic_count((T49*)(oBC13small_eiffel));
  554. (/*SFN*/C->_use_current_state)=23;
  555. (/*SFN*/C->_stupid_switch_state)=23;
  556. r49push((T49*)(oBC13small_eiffel),(T0*)C);
  557. r388initialize(C);
  558. r49pop((T49*)(oBC13small_eiffel));
  559. }
  560.  
  561.  
  562. void r388fatal_error(T0* a1){
  563. /*[IRF3.6append*/{T0* b1=a1;
  564. r7append((T7*)(oBC66explanation),b1);
  565. }/*]*/
  566. r66print_as_fatal_error((T66*)(oBC13eh));
  567. }
  568. T0*oBC334c_code=NULL;
  569.  
  570.  
  571. void r388c_assertion_flag(T388* C){
  572. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  573. /*]*/
  574. r388c_frame_descriptor_name_in(C,oBC334c_code);
  575. r7append((T7*)(oBC334c_code),((T0*)ms334_30285));
  576. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  577. /*]*/
  578. }
  579.  
  580.  
  581. void r388initialize(T388* C){
  582. T0* _original_name=NULL;
  583. T0* _bc=NULL;
  584. T2 _i=0;
  585. (/*SFN*/C->_result_type)=/*SSWARF2*//*X199result_type*/(/*RF2*/((T211*)((/*RF2*/(C)->_base_feature/*24*/)))->_result_type/*20*/);
  586. (/*SFN*/C->_result_type)=X52to_runnable((/*RF2*/(C)->_result_type/*32*/),(/*RF2*/(C)->_current_type/*8*/));
  587. _bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  588. _original_name=r51original_name(((T51*)_bc),/*SSWARF2*//*X199base_class*/(/*RF2*/((T211*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/),(/*RF2*/(C)->_name/*12*/));
  589. _i=r83index_of((T83*)(/*SSWARF2*//*X199names*/(/*RF2*/((T211*)((/*RF2*/(C)->_base_feature/*24*/)))->_names/*8*/)),_original_name);
  590. (/*SFN*/C->_value)=X199value((/*RF2*/(C)->_base_feature/*24*/),_i);
  591. (/*SFN*/C->_value)=X104to_runnable((/*RF2*/(C)->_value/*28*/),(/*RF2*/(C)->_current_type/*8*/));
  592. }
  593.  
  594.  
  595. T0* r388stupid_switch(T388* C,T0* a1){
  596. T0* R=NULL;
  597. {int z1=(/*RF2*/(C)->_stupid_switch_state/*20*/);
  598.  
  599. if((22==z1)){
  600. R=((T0*)ms388_5061);
  601. }
  602.  else 
  603. if((21==z1)){
  604. }
  605.  else 
  606. if((23==z1)){
  607. (/*SFN*/C->_stupid_switch_state)=24;
  608. r388compute_stupid_switch(C,a1);
  609. /*[IF*/
  610. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(22)){
  611. R=((T0*)ms388_5061);
  612. }
  613. /*FI]*/
  614. }
  615.  else {}}
  616. return R;
  617. }
  618.  
  619.  
  620. void r388compute_stupid_switch(T388* C,T0* a1){
  621. (/*SFN*/C->_stupid_switch_state)=22;
  622. }
  623.  
  624.  
  625. void r388mapping_c(T388* C){
  626. T0* _real_constant=NULL;
  627. /*[IF*/
  628. if(X52is_double((/*RF2*/(C)->_result_type/*32*/))){
  629. _real_constant=(/*RF2*/(C)->_value/*28*/);
  630. if(NULL!=(_real_constant)){
  631. switch(((T0*)_real_constant)->id){
  632. case 164:
  633. break;
  634. default:
  635. _real_constant=NULL;
  636. }
  637. }/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/(((T164*)_real_constant))->_to_string/*12*/));
  638. /*]*/
  639. }
  640. else{
  641. X104compile_to_c((/*RF2*/(C)->_value/*28*/));
  642. }
  643. /*FI]*/
  644. }
  645.  
  646.  
  647. void r388fe_vffd7(T388* C){
  648. {T68 se_tmp0;
  649. r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_result_type/*32*/)),&se_tmp0)));
  650. }
  651. r388fatal_error(((T0*)ms334_203069));
  652. }
  653.  
  654.  
  655. void r388c_frame_descriptor_name_in(T388* C,T0* a1){
  656. r7extend(((T7*)a1),((T3)'f'));
  657. r2append_in(r388id(C),a1);
  658. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
  659. }
  660.  
  661.  
  662. T68 r388start_position(T388* C){
  663. T68 R={NULL,0};
  664. {T68 se_tmp0;
  665. R=(*(se_tmp0=X199start_position((/*RF2*/(C)->_base_feature/*24*/)),&se_tmp0));
  666. }
  667. return R;
  668. }
  669.  
  670.  
  671. void r47set_is_deep_equal_used(T47* C){
  672. /*[IRF3.3set_deep_twin_used*/((((T47*)(C)))->_deep_twin_used)=(1);
  673. /*]*/
  674. (/*SFN*/C->_is_deep_equal_used)=1;
  675. }
  676.  
  677.  
  678. T6 r47ensure_check(T47* C){
  679. T6 R=0;
  680. R=((/*RF2*/(C)->_level/*0*/))>=(-3);
  681. return R;
  682. }
  683.  
  684.  
  685. T6 r47debug_check(T47* C){
  686. T6 R=0;
  687. R=((/*RF2*/(C)->_level/*0*/))==(1);
  688. return R;
  689. }
  690.  
  691.  
  692. T0* r47string_aliaser(void){
  693. if(fBC13string_aliaser==0){fBC13string_aliaser=1;{
  694. {T21*n=((T21*)malloc(1));
  695. oBC13string_aliaser=((T0*)n);
  696. /*[IRF3.2make*//*[IRF3.6add1*/{T0* b1=((T0*)ms15_696);
  697. r23put((T23*)(oBC21memory),b1,b1);
  698. }/*]*/
  699. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1915);
  700. r23put((T23*)(oBC21memory),b1,b1);
  701. }/*]*/
  702. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_669);
  703. r23put((T23*)(oBC21memory),b1,b1);
  704. }/*]*/
  705. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1980);
  706. r23put((T23*)(oBC21memory),b1,b1);
  707. }/*]*/
  708. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9234);
  709. r23put((T23*)(oBC21memory),b1,b1);
  710. }/*]*/
  711. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6405);
  712. r23put((T23*)(oBC21memory),b1,b1);
  713. }/*]*/
  714. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12529);
  715. r23put((T23*)(oBC21memory),b1,b1);
  716. }/*]*/
  717. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9801);
  718. r23put((T23*)(oBC21memory),b1,b1);
  719. }/*]*/
  720. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16393);
  721. r23put((T23*)(oBC21memory),b1,b1);
  722. }/*]*/
  723. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12550);
  724. r23put((T23*)(oBC21memory),b1,b1);
  725. }/*]*/
  726. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4728);
  727. r23put((T23*)(oBC21memory),b1,b1);
  728. }/*]*/
  729. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10740);
  730. r23put((T23*)(oBC21memory),b1,b1);
  731. }/*]*/
  732. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12030);
  733. r23put((T23*)(oBC21memory),b1,b1);
  734. }/*]*/
  735. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14817);
  736. r23put((T23*)(oBC21memory),b1,b1);
  737. }/*]*/
  738. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6307);
  739. r23put((T23*)(oBC21memory),b1,b1);
  740. }/*]*/
  741. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6643);
  742. r23put((T23*)(oBC21memory),b1,b1);
  743. }/*]*/
  744. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12595);
  745. r23put((T23*)(oBC21memory),b1,b1);
  746. }/*]*/
  747. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_5508);
  748. r23put((T23*)(oBC21memory),b1,b1);
  749. }/*]*/
  750. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17448);
  751. r23put((T23*)(oBC21memory),b1,b1);
  752. }/*]*/
  753. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1216);
  754. r23put((T23*)(oBC21memory),b1,b1);
  755. }/*]*/
  756. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7928);
  757. r23put((T23*)(oBC21memory),b1,b1);
  758. }/*]*/
  759. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6776);
  760. r23put((T23*)(oBC21memory),b1,b1);
  761. }/*]*/
  762. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12804);
  763. r23put((T23*)(oBC21memory),b1,b1);
  764. }/*]*/
  765. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1168);
  766. r23put((T23*)(oBC21memory),b1,b1);
  767. }/*]*/
  768. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7576);
  769. r23put((T23*)(oBC21memory),b1,b1);
  770. }/*]*/
  771. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_4956);
  772. r23put((T23*)(oBC21memory),b1,b1);
  773. }/*]*/
  774. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16692);
  775. r23put((T23*)(oBC21memory),b1,b1);
  776. }/*]*/
  777. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19124);
  778. r23put((T23*)(oBC21memory),b1,b1);
  779. }/*]*/
  780. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_921);
  781. r23put((T23*)(oBC21memory),b1,b1);
  782. }/*]*/
  783. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10680);
  784. r23put((T23*)(oBC21memory),b1,b1);
  785. }/*]*/
  786. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_64);
  787. r23put((T23*)(oBC21memory),b1,b1);
  788. }/*]*/
  789. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_368);
  790. r23put((T23*)(oBC21memory),b1,b1);
  791. }/*]*/
  792. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_61);
  793. r23put((T23*)(oBC21memory),b1,b1);
  794. }/*]*/
  795. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_246);
  796. r23put((T23*)(oBC21memory),b1,b1);
  797. }/*]*/
  798. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_62);
  799. r23put((T23*)(oBC21memory),b1,b1);
  800. }/*]*/
  801. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9408);
  802. r23put((T23*)(oBC21memory),b1,b1);
  803. }/*]*/
  804. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_242);
  805. r23put((T23*)(oBC21memory),b1,b1);
  806. }/*]*/
  807. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60);
  808. r23put((T23*)(oBC21memory),b1,b1);
  809. }/*]*/
  810. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_45);
  811. r23put((T23*)(oBC21memory),b1,b1);
  812. }/*]*/
  813. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_42);
  814. r23put((T23*)(oBC21memory),b1,b1);
  815. }/*]*/
  816. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_216);
  817. r23put((T23*)(oBC21memory),b1,b1);
  818. }/*]*/
  819. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1011);
  820. r23put((T23*)(oBC21memory),b1,b1);
  821. }/*]*/
  822. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_450);
  823. r23put((T23*)(oBC21memory),b1,b1);
  824. }/*]*/
  825. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8211);
  826. r23put((T23*)(oBC21memory),b1,b1);
  827. }/*]*/
  828. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_43);
  829. r23put((T23*)(oBC21memory),b1,b1);
  830. }/*]*/
  831. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_94);
  832. r23put((T23*)(oBC21memory),b1,b1);
  833. }/*]*/
  834. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_552);
  835. r23put((T23*)(oBC21memory),b1,b1);
  836. }/*]*/
  837. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_564);
  838. r23put((T23*)(oBC21memory),b1,b1);
  839. }/*]*/
  840. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_47);
  841. r23put((T23*)(oBC21memory),b1,b1);
  842. }/*]*/
  843. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_188);
  844. r23put((T23*)(oBC21memory),b1,b1);
  845. }/*]*/
  846. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_35);
  847. r23put((T23*)(oBC21memory),b1,b1);
  848. }/*]*/
  849. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035a);
  850. r23put((T23*)(oBC21memory),b1,b1);
  851. }/*]*/
  852. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11424);
  853. r23put((T23*)(oBC21memory),b1,b1);
  854. }/*]*/
  855. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2600);
  856. r23put((T23*)(oBC21memory),b1,b1);
  857. }/*]*/
  858. r21add2(((T0*)ms15_22524));
  859. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6702);
  860. r23put((T23*)(oBC21memory),b1,b1);
  861. }/*]*/
  862. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11776);
  863. r23put((T23*)(oBC21memory),b1,b1);
  864. }/*]*/
  865. r21add2(((T0*)ms15_29246));
  866. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13419);
  867. r23put((T23*)(oBC21memory),b1,b1);
  868. }/*]*/
  869. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765a);
  870. r23put((T23*)(oBC21memory),b1,b1);
  871. }/*]*/
  872. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1644);
  873. r23put((T23*)(oBC21memory),b1,b1);
  874. }/*]*/
  875. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19294);
  876. r23put((T23*)(oBC21memory),b1,b1);
  877. }/*]*/
  878. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1772);
  879. r23put((T23*)(oBC21memory),b1,b1);
  880. }/*]*/
  881. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15070);
  882. r23put((T23*)(oBC21memory),b1,b1);
  883. }/*]*/
  884. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15570);
  885. r23put((T23*)(oBC21memory),b1,b1);
  886. }/*]*/
  887. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27034);
  888. r23put((T23*)(oBC21memory),b1,b1);
  889. }/*]*/
  890. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15190);
  891. r23put((T23*)(oBC21memory),b1,b1);
  892. }/*]*/
  893. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15890);
  894. r23put((T23*)(oBC21memory),b1,b1);
  895. }/*]*/
  896. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19151);
  897. r23put((T23*)(oBC21memory),b1,b1);
  898. }/*]*/
  899. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13491);
  900. r23put((T23*)(oBC21memory),b1,b1);
  901. }/*]*/
  902. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_28490);
  903. r23put((T23*)(oBC21memory),b1,b1);
  904. }/*]*/
  905. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8750);
  906. r23put((T23*)(oBC21memory),b1,b1);
  907. }/*]*/
  908. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_19437);
  909. r23put((T23*)(oBC21memory),b1,b1);
  910. }/*]*/
  911. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824a);
  912. r23put((T23*)(oBC21memory),b1,b1);
  913. }/*]*/
  914. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_23829);
  915. r23put((T23*)(oBC21memory),b1,b1);
  916. }/*]*/
  917. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27272);
  918. r23put((T23*)(oBC21memory),b1,b1);
  919. }/*]*/
  920. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_10528);
  921. r23put((T23*)(oBC21memory),b1,b1);
  922. }/*]*/
  923. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13707);
  924. r23put((T23*)(oBC21memory),b1,b1);
  925. }/*]*/
  926. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6846);
  927. r23put((T23*)(oBC21memory),b1,b1);
  928. }/*]*/
  929. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1664);
  930. r23put((T23*)(oBC21memory),b1,b1);
  931. }/*]*/
  932. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2760);
  933. r23put((T23*)(oBC21memory),b1,b1);
  934. }/*]*/
  935. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730a);
  936. r23put((T23*)(oBC21memory),b1,b1);
  937. }/*]*/
  938. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22248);
  939. r23put((T23*)(oBC21memory),b1,b1);
  940. }/*]*/
  941. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22788);
  942. r23put((T23*)(oBC21memory),b1,b1);
  943. }/*]*/
  944. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_30660);
  945. r23put((T23*)(oBC21memory),b1,b1);
  946. }/*]*/
  947. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13995);
  948. r23put((T23*)(oBC21memory),b1,b1);
  949. }/*]*/
  950. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_432);
  951. r23put((T23*)(oBC21memory),b1,b1);
  952. }/*]*/
  953. r21add2(((T0*)ms15_22596));
  954. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_60104);
  955. r23put((T23*)(oBC21memory),b1,b1);
  956. }/*]*/
  957. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_24960);
  958. r23put((T23*)(oBC21memory),b1,b1);
  959. }/*]*/
  960. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34432);
  961. r23put((T23*)(oBC21memory),b1,b1);
  962. }/*]*/
  963. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11144);
  964. r23put((T23*)(oBC21memory),b1,b1);
  965. }/*]*/
  966. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_18964);
  967. r23put((T23*)(oBC21memory),b1,b1);
  968. }/*]*/
  969. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1724);
  970. r23put((T23*)(oBC21memory),b1,b1);
  971. }/*]*/
  972. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1744);
  973. r23put((T23*)(oBC21memory),b1,b1);
  974. }/*]*/
  975. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2765);
  976. r23put((T23*)(oBC21memory),b1,b1);
  977. }/*]*/
  978. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_6762);
  979. r23put((T23*)(oBC21memory),b1,b1);
  980. }/*]*/
  981. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1656);
  982. r23put((T23*)(oBC21memory),b1,b1);
  983. }/*]*/
  984. r21add2(((T0*)ms15_60016));
  985. r21add2(((T0*)ms15_26880));
  986. r21add2(((T0*)ms15_33240));
  987. r21add2(((T0*)ms15_21624));
  988. r21add2(((T0*)ms15_60060));
  989. r21add2(((T0*)ms15_26908));
  990. r21add2(((T0*)ms15_33270));
  991. r21add2(((T0*)ms15_21648));
  992. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_17886);
  993. r23put((T23*)(oBC21memory),b1,b1);
  994. }/*]*/
  995. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22824);
  996. r23put((T23*)(oBC21memory),b1,b1);
  997. }/*]*/
  998. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21192);
  999. r23put((T23*)(oBC21memory),b1,b1);
  1000. }/*]*/
  1001. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2785);
  1002. r23put((T23*)(oBC21memory),b1,b1);
  1003. }/*]*/
  1004. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11496);
  1005. r23put((T23*)(oBC21memory),b1,b1);
  1006. }/*]*/
  1007. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_53940);
  1008. r23put((T23*)(oBC21memory),b1,b1);
  1009. }/*]*/
  1010. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1035);
  1011. r23put((T23*)(oBC21memory),b1,b1);
  1012. }/*]*/
  1013. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2440);
  1014. r23put((T23*)(oBC21memory),b1,b1);
  1015. }/*]*/
  1016. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2445);
  1017. r23put((T23*)(oBC21memory),b1,b1);
  1018. }/*]*/
  1019. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_32730);
  1020. r23put((T23*)(oBC21memory),b1,b1);
  1021. }/*]*/
  1022. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12744);
  1023. r23put((T23*)(oBC21memory),b1,b1);
  1024. }/*]*/
  1025. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13662);
  1026. r23put((T23*)(oBC21memory),b1,b1);
  1027. }/*]*/
  1028. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8547);
  1029. r23put((T23*)(oBC21memory),b1,b1);
  1030. }/*]*/
  1031. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8505);
  1032. r23put((T23*)(oBC21memory),b1,b1);
  1033. }/*]*/
  1034. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9436);
  1035. r23put((T23*)(oBC21memory),b1,b1);
  1036. }/*]*/
  1037. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14193);
  1038. r23put((T23*)(oBC21memory),b1,b1);
  1039. }/*]*/
  1040. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915a);
  1041. r23put((T23*)(oBC21memory),b1,b1);
  1042. }/*]*/
  1043. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12915);
  1044. r23put((T23*)(oBC21memory),b1,b1);
  1045. }/*]*/
  1046. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_34528);
  1047. r23put((T23*)(oBC21memory),b1,b1);
  1048. }/*]*/
  1049. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13752);
  1050. r23put((T23*)(oBC21memory),b1,b1);
  1051. }/*]*/
  1052. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11336);
  1053. r23put((T23*)(oBC21memory),b1,b1);
  1054. }/*]*/
  1055. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_26156);
  1056. r23put((T23*)(oBC21memory),b1,b1);
  1057. }/*]*/
  1058. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_11376);
  1059. r23put((T23*)(oBC21memory),b1,b1);
  1060. }/*]*/
  1061. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27580);
  1062. r23put((T23*)(oBC21memory),b1,b1);
  1063. }/*]*/
  1064. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_33990);
  1065. r23put((T23*)(oBC21memory),b1,b1);
  1066. }/*]*/
  1067. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27443);
  1068. r23put((T23*)(oBC21memory),b1,b1);
  1069. }/*]*/
  1070. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_40358);
  1071. r23put((T23*)(oBC21memory),b1,b1);
  1072. }/*]*/
  1073. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_25584);
  1074. r23put((T23*)(oBC21memory),b1,b1);
  1075. }/*]*/
  1076. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7380);
  1077. r23put((T23*)(oBC21memory),b1,b1);
  1078. }/*]*/
  1079. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2730);
  1080. r23put((T23*)(oBC21memory),b1,b1);
  1081. }/*]*/
  1082. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7530);
  1083. r23put((T23*)(oBC21memory),b1,b1);
  1084. }/*]*/
  1085. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13977);
  1086. r23put((T23*)(oBC21memory),b1,b1);
  1087. }/*]*/
  1088. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_14175);
  1089. r23put((T23*)(oBC21memory),b1,b1);
  1090. }/*]*/
  1091. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16970);
  1092. r23put((T23*)(oBC21memory),b1,b1);
  1093. }/*]*/
  1094. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_8820);
  1095. r23put((T23*)(oBC21memory),b1,b1);
  1096. }/*]*/
  1097. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7326);
  1098. r23put((T23*)(oBC21memory),b1,b1);
  1099. }/*]*/
  1100. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22716);
  1101. r23put((T23*)(oBC21memory),b1,b1);
  1102. }/*]*/
  1103. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_12978);
  1104. r23put((T23*)(oBC21memory),b1,b1);
  1105. }/*]*/
  1106. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16770);
  1107. r23put((T23*)(oBC21memory),b1,b1);
  1108. }/*]*/
  1109. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_16850);
  1110. r23put((T23*)(oBC21memory),b1,b1);
  1111. }/*]*/
  1112. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9051);
  1113. r23put((T23*)(oBC21memory),b1,b1);
  1114. }/*]*/
  1115. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_21300);
  1116. r23put((T23*)(oBC21memory),b1,b1);
  1117. }/*]*/
  1118. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_56720);
  1119. r23put((T23*)(oBC21memory),b1,b1);
  1120. }/*]*/
  1121. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1800);
  1122. r23put((T23*)(oBC21memory),b1,b1);
  1123. }/*]*/
  1124. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_2780);
  1125. r23put((T23*)(oBC21memory),b1,b1);
  1126. }/*]*/
  1127. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_27456);
  1128. r23put((T23*)(oBC21memory),b1,b1);
  1129. }/*]*/
  1130. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_15650);
  1131. r23put((T23*)(oBC21memory),b1,b1);
  1132. }/*]*/
  1133. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_9275);
  1134. r23put((T23*)(oBC21memory),b1,b1);
  1135. }/*]*/
  1136. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_58075);
  1137. r23put((T23*)(oBC21memory),b1,b1);
  1138. }/*]*/
  1139. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_22140);
  1140. r23put((T23*)(oBC21memory),b1,b1);
  1141. }/*]*/
  1142. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_13833);
  1143. r23put((T23*)(oBC21memory),b1,b1);
  1144. }/*]*/
  1145. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_7314);
  1146. r23put((T23*)(oBC21memory),b1,b1);
  1147. }/*]*/
  1148. /*[IRF3.6add1*/{T0* b1=((T0*)ms15_1608);
  1149. r23put((T23*)(oBC21memory),b1,b1);
  1150. }/*]*/
  1151. /*]*/
  1152. }
  1153. }}
  1154. return oBC13string_aliaser;
  1155. }
  1156.  
  1157.  
  1158. T6 r47no_check(T47* C){
  1159. T6 R=0;
  1160. R=((/*RF2*/(C)->_level/*0*/))>=(-5);
  1161. return R;
  1162. }
  1163.  
  1164.  
  1165. T6 r47boost(T47* C){
  1166. T6 R=0;
  1167. R=((/*RF2*/(C)->_level/*0*/))==(-6);
  1168. return R;
  1169. }
  1170.  
  1171.  
  1172. T6 r47require_check(T47* C){
  1173. T6 R=0;
  1174. R=((/*RF2*/(C)->_level/*0*/))>=(-4);
  1175. return R;
  1176. }
  1177.  
  1178.  
  1179. void r47compute_root_class(T47* C,T0* a1){
  1180. T3 _c=0;
  1181. T2 _i=0;
  1182. (/*SFN*/C->_root_class)=r7twin(((T7*)a1));
  1183. /*[IF*/
  1184. if(r7has_suffix((T7*)((/*RF2*/(C)->_root_class/*5*/)),((T0*)ms13_294))){
  1185. r7remove_last((T7*)((/*RF2*/(C)->_root_class/*5*/)),2);
  1186. }
  1187. /*FI]*/
  1188. _i=(/*RF2*/((T7*)((/*RF2*/(C)->_root_class/*5*/)))->_count/*4*/);
  1189. while (!((_i)==(0)))
  1190. {
  1191. _c=/*(IRF4.6item*/((/*RF2*/((T7*)((/*RF2*/(C)->_root_class/*5*/)))->_storage/*0*/))[(_i)-(1)]/*)*/;
  1192. /*[IF*/
  1193. if(r3is_letter(_c)){
  1194. _i=(_i)-(1);
  1195. }
  1196.  else if((_c)==(((T3)'\137'))){
  1197. _i=(_i)-(1);
  1198. }
  1199.  else if(r3is_digit(_c)){
  1200. _i=(_i)-(1);
  1201. }
  1202. else{
  1203. r7remove_first((T7*)((/*RF2*/(C)->_root_class/*5*/)),_i);
  1204. _i=0;
  1205. }
  1206. /*FI]*/
  1207. }
  1208. r7to_upper((T7*)((/*RF2*/(C)->_root_class/*5*/)));
  1209. (/*SFN*/C->_root_class)=((/*UT*/(void)((T21*)(r47string_aliaser()))),r21item((/*RF2*/(C)->_root_class/*5*/)));
  1210. }
  1211.  
  1212.  
  1213. T6 r47loop_check(T47* C){
  1214. T6 R=0;
  1215. R=((/*RF2*/(C)->_level/*0*/))>=(-1);
  1216. return R;
  1217. }
  1218.  
  1219.  
  1220. T6 r47invariant_check(T47* C){
  1221. T6 R=0;
  1222. R=((/*RF2*/(C)->_level/*0*/))>=(-2);
  1223. return R;
  1224. }
  1225.  
  1226.  
  1227. T6 r47all_check(T47* C){
  1228. T6 R=0;
  1229. R=((/*RF2*/(C)->_level/*0*/))>=(0);
  1230. return R;
  1231. }
  1232.  
  1233.  
  1234. T0* r47root_procedure(T47* C){
  1235. T0* R=NULL;
  1236. R=(/*RF2*/(C)->_root_procedure_memory/*21*/);
  1237. /*[IF*/
  1238. if((R)==((void*)(NULL))){
  1239. R=((T0*)ms15_1656);
  1240. }
  1241. /*FI]*/
  1242. return R;
  1243. }
  1244.  
  1245.  
  1246. T0* r280generic_list(T280* C){
  1247. T0* R=NULL;
  1248. /*[IF*/
  1249. if(r280is_generic(C)){
  1250. R=X52generic_list((/*RF2*/(C)->_run_type/*12*/));
  1251. }
  1252. else{
  1253. r280fatal_error_generic_list(C);
  1254. }
  1255. /*FI]*/
  1256. return R;
  1257. }
  1258.  
  1259.  
  1260. T6 r280need_gc_mark_function(T280* C){
  1261. T6 R=0;
  1262. R=X52need_gc_mark_function((/*RF2*/(C)->_run_type/*12*/));
  1263. return R;
  1264. }
  1265.  
  1266.  
  1267. T2 r280id(T280* C){
  1268. T2 R=0;
  1269. R=(/*RF2*/((T50*)(r280run_class(C)))->_id/*4*/);
  1270. return R;
  1271. }
  1272.  
  1273.  
  1274. void r280warning(T68 a1,T0* a2){
  1275. r66add_position(a1);
  1276. /*[IRF3.6append*/{T0* b1=a2;
  1277. r7append((T7*)(oBC66explanation),b1);
  1278. }/*]*/
  1279. r66print_as_warning((T66*)(oBC13eh));
  1280. }
  1281.  
  1282.  
  1283. void r280cast_to_ref(T280* C){
  1284. X52cast_to_ref((/*RF2*/(C)->_run_type/*12*/));
  1285. }
  1286.  
  1287.  
  1288. void r280c_header_pass1(T280* C){
  1289. X52c_header_pass1((/*RF2*/(C)->_run_type/*12*/));
  1290. }
  1291.  
  1292.  
  1293. void r280just_before_gc_mark_in(T280* C,T0* a1){
  1294. X52just_before_gc_mark_in((/*RF2*/(C)->_run_type/*12*/),a1);
  1295. }
  1296.  
  1297.  
  1298. void r280c_header_pass3(T280* C){
  1299. X52c_header_pass3((/*RF2*/(C)->_run_type/*12*/));
  1300. }
  1301.  
  1302.  
  1303. void r280gc_call_new_in(T280* C,T0* a1){
  1304. r7append(((T7*)a1),((T0*)ms14_990));
  1305. r2append_in(r280id(C),a1);
  1306. r7extend(((T7*)a1),((T3)'\50'));
  1307. r7extend(((T7*)a1),((T3)'\51'));
  1308. }
  1309.  
  1310.  
  1311. T6 r280is_array(T280* C){
  1312. T6 R=0;
  1313. R=X52is_array((/*RF2*/(C)->_run_type/*12*/));
  1314. return R;
  1315. }
  1316.  
  1317.  
  1318. T0* r280base_class(T280* C){
  1319. T0* R=NULL;
  1320. T0* _bcn=NULL;
  1321. _bcn=r280base_class_name(C);
  1322. /*[IF*/
  1323. if((_bcn)!=((void*)(NULL))){
  1324. R=r61base_class(((T61*)_bcn));
  1325. }
  1326. else{
  1327. /*[IRF3.6append*/{T0* b1=((T0*)ms52_36693);
  1328. r7append((T7*)(oBC66explanation),b1);
  1329. }/*]*/
  1330. r66add_type((T0*)C,((T0*)ms14_46));
  1331. r66print_as_fatal_error((T66*)(oBC13eh));
  1332. }
  1333. /*FI]*/
  1334. return R;
  1335. }
  1336.  
  1337.  
  1338. T0* r280look_up_for(T280* C,T0* a1,T0* a2){
  1339. T0* R=NULL;
  1340. R=r51look_up_for((T51*)(r280base_class(C)),a1,a2);
  1341. return R;
  1342. }
  1343.  
  1344.  
  1345. T2 r280c_sizeof(T280* C){
  1346. T2 R=0;
  1347. R=X52c_sizeof((/*RF2*/(C)->_run_type/*12*/));
  1348. return R;
  1349. }
  1350.  
  1351.  
  1352. T6 r280has_creation(T280* C,T0* a1){
  1353. T6 R=0;
  1354. /*[IF*/
  1355. if((C)==((void*)((/*RF2*/(C)->_run_type/*12*/)))){
  1356. R=r51has_creation((T51*)(r280base_class(C)),a1);
  1357. }
  1358. else{
  1359. R=X52has_creation((/*RF2*/(C)->_run_type/*12*/),a1);
  1360. }
  1361. /*FI]*/
  1362. return R;
  1363. }
  1364.  
  1365.  
  1366. void r280error(T68 a1,T0* a2){
  1367. r66add_position(a1);
  1368. /*[IRF3.6append*/{T0* b1=a2;
  1369. r7append((T7*)(oBC66explanation),b1);
  1370. }/*]*/
  1371. r66print_as_error((T66*)(oBC13eh));
  1372. }
  1373.  
  1374.  
  1375. T6 r280need_c_struct(T280* C){
  1376. T6 R=0;
  1377. R=X52need_c_struct((/*RF2*/(C)->_run_type/*12*/));
  1378. return R;
  1379. }
  1380.  
  1381.  
  1382. void r280mapping_cast(T280* C){
  1383. /*[IRF3.3clear*/((((T7*)((T7*)(((T0*)ms52_15456)))))->_count)=(0);
  1384. /*]*/
  1385. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\50'));
  1386. r280c_type_for_target_in(C,((T0*)ms52_15456));
  1387. r7extend((T7*)(((T0*)ms52_15456)),((T3)'\51'));
  1388. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms52_15456));
  1389. /*]*/
  1390. }
  1391.  
  1392.  
  1393. T0* r280actual_reference(T280* C,T0* a1){
  1394. T0* R=NULL;
  1395. R=X52actual_reference((/*RF2*/(C)->_run_type/*12*/),a1);
  1396. return R;
  1397. }
  1398.  
  1399.  
  1400. T6 r280is_a_in(T280* C,T0* a1,T0* a2){
  1401. T6 R=0;
  1402. T0* _ct=NULL;
  1403. T0* _t2=NULL;
  1404. T0* _t1=NULL;
  1405. /*[IF*/
  1406. if((/*(IRF4.6written_mark*/(/*RF2*/(((T61*)((/*RF2*/(C)->_formal_name/*4*/))))->_to_string/*8*/)/*)*/)==((void*)(X52written_mark(a1)))){
  1407. R=1;
  1408. }
  1409. else{
  1410. _ct=(/*RF2*/(((T50*)a2))->_current_type/*0*/);
  1411. _t1=r280to_runnable(C,_ct);
  1412. _t2=X52to_runnable(a1,_ct);
  1413. /*[IF*/
  1414. if((X52run_time_mark(_t1))==((void*)(X52run_time_mark(_t2)))){
  1415. R=1;
  1416. }
  1417. else{
  1418. R=X52is_a(_t1,_t2);
  1419. }
  1420. /*FI]*/
  1421. }
  1422. /*FI]*/
  1423. return R;
  1424. }
  1425.  
  1426.  
  1427. T6 r280is_native_array(T280* C){
  1428. T6 R=0;
  1429. T0* _tna=NULL;
  1430. _tna=NULL;
  1431. R=(_tna)!=((void*)(NULL));
  1432. return R;
  1433. }
  1434.  
  1435.  
  1436. T6 r280is_boolean(T280* C){
  1437. T6 R=0;
  1438. R=X52is_boolean((/*RF2*/(C)->_run_type/*12*/));
  1439. return R;
  1440. }
  1441.  
  1442.  
  1443. T6 r280is_a(T280* C,T0* a1){
  1444. T6 R=0;
  1445. R=X52is_a((/*RF2*/(C)->_run_type/*12*/),a1);
  1446. return R;
  1447. }
  1448.  
  1449.  
  1450. T6 r280is_generic(T280* C){
  1451. T6 R=0;
  1452. R=X52is_generic((/*RF2*/(C)->_run_type/*12*/));
  1453. return R;
  1454. }
  1455.  
  1456.  
  1457. void r280make(T280* C,T0* a1,T2 a2){
  1458. (/*SFN*/C->_rank)=a2;
  1459. (/*SFN*/C->_formal_name)=a1;
  1460. }
  1461.  
  1462.  
  1463. T0* r280formal_generic_list(T280* C){
  1464. T0* R=NULL;
  1465. R=(/*RF2*/((T51*)((/*RF2*/(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_formal_name/*4*/))))->_start_position/*0*/)/*)*/)._base_class/*0*/)))->_formal_generic_list/*22*/);
  1466. return R;
  1467. }
  1468.  
  1469.  
  1470. T6 r280is_reference(T280* C){
  1471. T6 R=0;
  1472. R=X52is_reference((/*RF2*/(C)->_run_type/*12*/));
  1473. return R;
  1474. }
  1475.  
  1476.  
  1477. T6 r280is_real(T280* C){
  1478. T6 R=0;
  1479. R=X52is_real((/*RF2*/(C)->_run_type/*12*/));
  1480. return R;
  1481. }
  1482.  
  1483.  
  1484. T6 r280is_user_expanded(T280* C){
  1485. T6 R=0;
  1486. R=X52is_user_expanded((/*RF2*/(C)->_run_type/*12*/));
  1487. return R;
  1488. }
  1489.  
  1490.  
  1491. T6 r280is_integer(T280* C){
  1492. T6 R=0;
  1493. R=X52is_integer((/*RF2*/(C)->_run_type/*12*/));
  1494. return R;
  1495. }
  1496.  
  1497.  
  1498. T6 r280is_any(T280* C){
  1499. T6 R=0;
  1500. R=X52is_any((/*RF2*/(C)->_run_type/*12*/));
  1501. return R;
  1502. }
  1503.  
  1504.  
  1505. void r280fatal_error_generic_list(T280* C){
  1506. r66add_type((T0*)C,((T0*)ms52_28899));
  1507. r66print_as_fatal_error((T66*)(oBC13eh));
  1508. }
  1509.  
  1510.  
  1511. T6 r280is_string(T280* C){
  1512. T6 R=0;
  1513. R=X52is_string((/*RF2*/(C)->_run_type/*12*/));
  1514. return R;
  1515. }
  1516.  
  1517.  
  1518. void r280c_initialize_in(T280* C,T0* a1){
  1519. X52c_initialize_in((/*RF2*/(C)->_run_type/*12*/),a1);
  1520. }
  1521.  
  1522.  
  1523. T0* r280constraint(T280* C){
  1524. T0* R=NULL;
  1525. R=(/*RF2*/((T278*)(r280formal_arg(C)))->_constraint/*4*/);
  1526. return R;
  1527. }
  1528.  
  1529.  
  1530. T0* r280smallest_ancestor(T280* C,T0* a1){
  1531. T0* R=NULL;
  1532. R=X52smallest_ancestor((/*RF2*/(C)->_run_type/*12*/),a1);
  1533. return R;
  1534. }
  1535.  
  1536.  
  1537. void r280c_header_pass2(T280* C){
  1538. X52c_header_pass2((/*RF2*/(C)->_run_type/*12*/));
  1539. }
  1540.  
  1541.  
  1542. void r280c_header_pass4(T280* C){
  1543. X52c_header_pass4((/*RF2*/(C)->_run_type/*12*/));
  1544. }
  1545.  
  1546.  
  1547. T6 r280is_double(T280* C){
  1548. T6 R=0;
  1549. R=X52is_double((/*RF2*/(C)->_run_type/*12*/));
  1550. return R;
  1551. }
  1552.  
  1553.  
  1554. T6 r280is_none(T280* C){
  1555. T6 R=0;
  1556. R=X52is_none((/*RF2*/(C)->_run_type/*12*/));
  1557. return R;
  1558. }
  1559.  
  1560.  
  1561. T0* r280to_runnable(T280* C,T0* a1){
  1562. T0* R=NULL;
  1563. T0* _gl=NULL;
  1564. T0* _t=NULL;
  1565. T0* _p=NULL;
  1566. T0* _bc_ct=NULL;
  1567. T0* _bc_written=NULL;
  1568. _bc_written=(/*RF2*/(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_formal_name/*4*/))))->_start_position/*0*/)/*)*/)._base_class/*0*/);
  1569. _bc_ct=X52base_class(a1);
  1570. /*[IF*/
  1571. if((_bc_written)==((void*)(_bc_ct))){
  1572. _gl=X52generic_list(a1);
  1573. /*[IF*/
  1574. if(((_gl)==((void*)(NULL)))||(((/*RF2*/(C)->_rank/*8*/))>((/*RF2*/(((T258*)_gl))->_upper/*8*/)))){
  1575. {T68 se_tmp0;
  1576. r66add_position((*(se_tmp0=X52start_position(a1),&se_tmp0)));
  1577. }
  1578. r66add_position(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_formal_name/*4*/))))->_start_position/*0*/)/*)*/);
  1579. r280fatal_error(((T0*)ms14_60064));
  1580. }
  1581. else{
  1582. R=r280make_runnable(C,r258item(((T258*)_gl),(/*RF2*/(C)->_rank/*8*/)));
  1583. }
  1584. /*FI]*/
  1585. }
  1586. else{
  1587. _p=/*(IRF4.6first_parent_for*/r57first_parent_for(((T57*)((/*RF2*/(((T51*)_bc_ct))->_parent_list/*34*/))),_bc_written)/*)*/;
  1588. while (!((_p)==((void*)(NULL))))
  1589. {
  1590. _t=(/*RF2*/(((T58*)_p))->_type/*4*/);
  1591. _t=X52run_type(X52to_runnable(_t,a1));
  1592. /*[IF*/
  1593. if((R)==((void*)(NULL))){
  1594. R=r280to_runnable(C,_t);
  1595. _p=NULL;
  1596. }
  1597. else{
  1598. _p=/*(IRF4.6next_parent_for*/r57next_parent_for(((T57*)((/*RF2*/(((T51*)_bc_ct))->_parent_list/*34*/))),_bc_written,_p)/*)*/;
  1599. }
  1600. /*FI]*/
  1601. }
  1602. /*[IF*/
  1603. if((R)==((void*)(NULL))){
  1604. r66add_type(a1,((T0*)ms280_18176));
  1605. r280warning(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_formal_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms280_50008));
  1606. }
  1607. /*FI]*/
  1608. }
  1609. /*FI]*/
  1610. return R;
  1611. }
  1612.  
  1613.  
  1614. T0* r280make_runnable(T280* C,T0* a1){
  1615. T0* R=NULL;
  1616. T0* _rt2=NULL;
  1617. _rt2=X52run_type(a1);
  1618. /*[IF*/
  1619. if((_rt2)==((void*)(NULL))){
  1620. /*[IF*/
  1621. if((a1)!=((void*)(NULL))){
  1622. {T68 se_tmp0;
  1623. r66add_position((*(se_tmp0=X52start_position(a1),&se_tmp0)));
  1624. }
  1625. }
  1626. /*FI]*/
  1627. r280error(/*(IRF4.6start_position*/(/*RF2*/(((T61*)((/*RF2*/(C)->_formal_name/*4*/))))->_start_position/*0*/)/*)*/,((T0*)ms14_28644));
  1628. }
  1629.  else if(((/*RF2*/(C)->_run_type/*12*/))==((void*)(NULL))){
  1630. (/*SFN*/C->_run_type)=_rt2;
  1631. R=((T0*)(C));
  1632. }
  1633. else{
  1634. R=r280twin(C);
  1635. /*[IRF3.3set_run_type*/((((T280*)(((T280*)R))))->_run_type)=(_rt2);
  1636. /*]*/
  1637. }
  1638. /*FI]*/
  1639. return R;
  1640. }
  1641.  
  1642.  
  1643. T0* r280twin(T280* C){
  1644. T0* R=NULL;
  1645. R=malloc(sizeof(*C));
  1646. *((T280*)R)=*C;
  1647. return R;
  1648. }
  1649.  
  1650.  
  1651. T6 r280is_pointer(T280* C){
  1652. T6 R=0;
  1653. R=X52is_pointer((/*RF2*/(C)->_run_type/*12*/));
  1654. return R;
  1655. }
  1656.  
  1657.  
  1658. T0* r280formal_arg(T280* C){
  1659. T0* R=NULL;
  1660. R=/*(IRF4.6item*/r279item(((T279*)((/*RF2*/((T94*)(r280formal_generic_list(C)))->_list/*8*/))),(/*RF2*/(C)->_rank/*8*/))/*)*/;
  1661. return R;
  1662. }
  1663.  
  1664.  
  1665. void r280id_extra_information(T280* C,T0* a1){
  1666. r48put_string(((T48*)a1),((T0*)ms52_9724));
  1667. /*[IF*/
  1668. if(r280is_reference(C)){
  1669. r48put_string(((T48*)a1),((T0*)ms52_1476));
  1670. }
  1671. else{
  1672. r48put_string(((T48*)a1),((T0*)ms52_759));
  1673. }
  1674. /*FI]*/
  1675. }
  1676.  
  1677.  
  1678. void r280gc_define1(T280* C){
  1679. X52gc_define1((/*RF2*/(C)->_run_type/*12*/));
  1680. }
  1681.  
  1682.  
  1683. void r280gc_mark_in(T280* C,T0* a1){
  1684. r7append(((T7*)a1),((T0*)ms14_8764));
  1685. r2append_in(r280id(C),a1);
  1686. }
  1687.  
  1688.  
  1689. T0* r280static_base_class_name(T280* C){
  1690. T0* R=NULL;
  1691. T0* _t=NULL;
  1692. _t=r280constraint(C);
  1693. /*[IF*/
  1694. if((_t)!=((void*)(NULL))){
  1695. R=X52static_base_class_name(_t);
  1696. }
  1697. /*FI]*/
  1698. return R;
  1699. }
  1700.  
  1701.  
  1702. void r280c_type_for_external_in(T280* C,T0* a1){
  1703. /*[IF*/
  1704. if(r280is_reference(C)){
  1705. r7append(((T7*)a1),((T0*)ms14_1736a));
  1706. r7extend(((T7*)a1),((T3)'\52'));
  1707. }
  1708. else{
  1709. r280c_type_for_result_in(C,a1);
  1710. }
  1711. /*FI]*/
  1712. }
  1713.  
  1714.  
  1715. void r280c_type_for_argument_in(T280* C,T0* a1){
  1716. X52c_type_for_argument_in((/*RF2*/(C)->_run_type/*12*/),a1);
  1717. }
  1718.  
  1719.  
  1720. T0* r280run_time_mark(T280* C){
  1721. T0* R=NULL;
  1722. R=X52run_time_mark((/*RF2*/(C)->_run_type/*12*/));
  1723. return R;
  1724. }
  1725.  
  1726.  
  1727. T0* r280run_class(T280* C){
  1728. T0* R=NULL;
  1729. R=r49run_class((/*RF2*/(C)->_run_type/*12*/));
  1730. return R;
  1731. }
  1732.  
  1733.  
  1734. T6 r280is_dummy_expanded(T280* C){
  1735. T6 R=0;
  1736. R=X52is_dummy_expanded((/*RF2*/(C)->_run_type/*12*/));
  1737. return R;
  1738. }
  1739.  
  1740.  
  1741. void r280fatal_error(T0* a1){
  1742. /*[IRF3.6append*/{T0* b1=a1;
  1743. r7append((T7*)(oBC66explanation),b1);
  1744. }/*]*/
  1745. r66print_as_fatal_error((T66*)(oBC13eh));
  1746. }
  1747.  
  1748.  
  1749. T6 r280is_expanded(T280* C){
  1750. T6 R=0;
  1751. R=X52is_expanded((/*RF2*/(C)->_run_type/*12*/));
  1752. return R;
  1753. }
  1754.  
  1755.  
  1756. void r280c_type_for_result_in(T280* C,T0* a1){
  1757. X52c_type_for_result_in((/*RF2*/(C)->_run_type/*12*/),a1);
  1758. }
  1759.  
  1760.  
  1761. void r280c_type_for_target_in(T280* C,T0* a1){
  1762. X52c_type_for_target_in((/*RF2*/(C)->_run_type/*12*/),a1);
  1763. }
  1764.  
  1765.  
  1766. T0* r280expanded_initializer(T280* C){
  1767. T0* R=NULL;
  1768. R=X52expanded_initializer((/*RF2*/(C)->_run_type/*12*/));
  1769. return R;
  1770. }
  1771.  
  1772.  
  1773. T6 r280is_basic_eiffel_expanded(T280* C){
  1774. T6 R=0;
  1775. R=X52is_basic_eiffel_expanded((/*RF2*/(C)->_run_type/*12*/));
  1776. return R;
  1777. }
  1778.  
  1779.  
  1780. T6 r280stupid_switch(T280* C,T0* a1){
  1781. T6 R=0;
  1782. R=r280standard_stupid_switch(C,a1);
  1783. return R;
  1784. }
  1785.  
  1786.  
  1787. T6 r280standard_stupid_switch(T280* C,T0* a1){
  1788. T6 R=0;
  1789. T2 _i=0;
  1790. T0* _rtm2=NULL;
  1791. T0* _rtm1=NULL;
  1792. T0* _dyn_t=NULL;
  1793. T0* _ct=NULL;
  1794. T0* _rc=NULL;
  1795. R=1;
  1796. _i=(/*RF2*/(((T53*)a1))->_upper/*8*/);
  1797. _rc=r53item(((T53*)a1),_i);
  1798. _i=(_i)-(1);
  1799. _ct=(/*RF2*/(((T50*)_rc))->_current_type/*0*/);
  1800. _dyn_t=r280to_runnable(C,_ct);
  1801. /*[IF*/
  1802. if((_dyn_t)==((void*)(NULL))){
  1803. R=0;
  1804. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  1805. /*]*/
  1806. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  1807. /*]*/
  1808. /*]*/
  1809. }
  1810. else{
  1811. _rtm1=X52run_time_mark(_dyn_t);
  1812. }
  1813. /*FI]*/
  1814. while (!((!(R))||((_i)==(0))))
  1815. {
  1816. _rc=r53item(((T53*)a1),_i);
  1817. _i=(_i)-(1);
  1818. _ct=(/*RF2*/(((T50*)_rc))->_current_type/*0*/);
  1819. _dyn_t=r280to_runnable(C,_ct);
  1820. /*[IF*/
  1821. if((_dyn_t)==((void*)(NULL))){
  1822. R=0;
  1823. /*[IRF3.2cancel*//*[IRF3.3clear*/((((T7*)((T7*)(oBC66explanation))))->_count)=(0);
  1824. /*]*/
  1825. /*[IRF3.3clear*/((((T67*)((T67*)(oBC66positions))))->_upper)=(-(1));
  1826. /*]*/
  1827. /*]*/
  1828. }
  1829. else{
  1830. _rtm2=X52run_time_mark(_dyn_t);
  1831. /*[IF*/
  1832. if((_rtm1)!=((void*)(_rtm2))){
  1833. R=0;
  1834. }
  1835. /*FI]*/
  1836. }
  1837. /*FI]*/
  1838. }
  1839. return R;
  1840. }
  1841.  
  1842.  
  1843. void r280demangling_in(T280* C,T0* a1){
  1844. /*[IF*/
  1845. if(r280is_reference(C)){
  1846. r7extend(((T7*)a1),((T3)'R'));
  1847. }
  1848. else{
  1849. r7extend(((T7*)a1),((T3)'E'));
  1850. }
  1851. /*FI]*/
  1852. r7extend(((T7*)a1),((T3)'\40'));
  1853. r7append(((T7*)a1),r280run_time_mark(C));
  1854. }
  1855.  
  1856.  
  1857. void r280c_initialize(T280* C){
  1858. X52c_initialize((/*RF2*/(C)->_run_type/*12*/));
  1859. }
  1860.  
  1861.  
  1862. T6 r280is_character(T280* C){
  1863. T6 R=0;
  1864. R=X52is_character((/*RF2*/(C)->_run_type/*12*/));
  1865. return R;
  1866. }
  1867.  
  1868.  
  1869. T0* r280base_class_name(T280* C){
  1870. T0* R=NULL;
  1871. R=X52base_class_name((/*RF2*/(C)->_run_type/*12*/));
  1872. return R;
  1873. }
  1874.  
  1875.  
  1876. void r280c_frame_descriptor(T280* C){
  1877. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
  1878. /*[IF*/
  1879. if(r280is_reference(C)){
  1880. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'R'));
  1881. }
  1882. else{
  1883. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'E'));
  1884. }
  1885. /*FI]*/
  1886. r2append_in(r280id(C),oBC13c_frame_descriptor_format);
  1887. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\45'));
  1888. }
  1889.  
  1890.  
  1891. T6 r280is_bit(T280* C){
  1892. T6 R=0;
  1893. R=X52is_bit((/*RF2*/(C)->_run_type/*12*/));
  1894. return R;
  1895. }
  1896.  
  1897.  
  1898. void r280gc_info_in(T280* C,T0* a1){
  1899. X52gc_info_in((/*RF2*/(C)->_run_type/*12*/),a1);
  1900. }
  1901.  
  1902.  
  1903. void r280gc_define2(T280* C){
  1904. X52gc_define2((/*RF2*/(C)->_run_type/*12*/));
  1905. }
  1906.  
  1907.  
  1908. void r317make(T317* C,T0* a1,T0* a2){
  1909. (/*SFN*/C->_clients)=a1;
  1910. (/*SFN*/C->_list)=a2;
  1911. }
  1912.  
  1913.  
  1914. void r317make_all(T317* C,T0* a1){
  1915. (/*SFN*/C->_clients)=a1;
  1916. (/*SFN*/C->_list)=NULL;
  1917. }
  1918.  
  1919.  
  1920. T6 r317affect(T317* C,T0* a1){
  1921. T6 R=0;
  1922. /*[IF*/
  1923. if(/*(IRF4.7for_all*/((/*RF2*/(C)->_list/*4*/))==(NULL)/*)*/){
  1924. R=1;
  1925. }
  1926. else{
  1927. R=r83has((T83*)((/*RF2*/(C)->_list/*4*/)),a1);
  1928. }
  1929. /*FI]*/
  1930. return R;
  1931. }
  1932.  
  1933.  
  1934. void r105make(T105* C,T0* a1,T68 a2){
  1935. (/*SFN*/C->_to_string)=a1;
  1936. (/*SFN*/C->_start_position)=a2;
  1937. }
  1938.  
  1939.  
  1940. T0* r383runnable(T0* a1,T0* a2,T0* a3,T3 a4){
  1941. T0* R=NULL;
  1942. T0* _a=NULL;
  1943. T2 _i=0;
  1944. /*[IF*/
  1945. if(!(r101is_empty(((T101*)a1)))){
  1946. R=r101twin(((T101*)a1));
  1947. _i=(/*RF2*/(((T101*)R))->_upper/*8*/);
  1948. while (!((_i)==(0)))
  1949. {
  1950. r49push((T49*)(oBC13small_eiffel),a3);
  1951. _a=r100to_runnable((T100*)(r101item(((T101*)R),_i)),a2,a4);
  1952. /*[IF*/
  1953. if((_a)==((void*)(NULL))){
  1954. {T68 se_tmp0;
  1955. r383error((*(se_tmp0=r100start_position((T100*)(r101item(((T101*)R),_i))),&se_tmp0)),((T0*)ms14_14056));
  1956. }
  1957. }
  1958. else{
  1959. /*[IRF3.6put*/{T101* C1=((T101*)R);
  1960. T0* b1=_a;
  1961. T2 b2=_i;
  1962. ((/*RF2*/(C1)->_storage/*0*/))[(b2)-((/*RF2*/(C1)->_lower/*12*/))]=(b1);
  1963. }/*]*/
  1964. }
  1965. /*FI]*/
  1966. r49pop((T49*)(oBC13small_eiffel));
  1967. _i=(_i)-(1);
  1968. }
  1969. }
  1970. /*FI]*/
  1971. return R;
  1972. }
  1973.  
  1974.  
  1975. T0* r383require_end(T383* C,T0* a1,T0* a2){
  1976. T0* R=NULL;
  1977. T0* _er=NULL;
  1978. T0* _r2=NULL;
  1979. T0* _r=NULL;
  1980. T0* _a=NULL;
  1981. T0* _bc=NULL;
  1982. T68 _sp={NULL,0};
  1983. T2 _i=0;
  1984. (/*SFN*/C->_processing_require)=0;
  1985. _r=r383runnable(oBC383collector,a2,a1,((T3)'R'));
  1986. /*[IF*/
  1987. if((_r)!=((void*)(NULL))){
  1988. {T101*n=((T101*)malloc(sizeof(*n))/*16*/);
  1989. *n=M101;
  1990. r101with_capacity(n,r101count(((T101*)_r)),1);
  1991. _r2=((T0*)n);
  1992. }
  1993. _a=r101item(((T101*)_r),1);
  1994. r101add_last(((T101*)_r2),_a);
  1995. {T68 se_tmp0;
  1996. _sp=(*(se_tmp0=r100start_position(((T100*)_a)),&se_tmp0));
  1997. }
  1998. _bc=(/*RF2*/(_sp)._base_class/*0*/);
  1999. _i=2;
  2000. {T68 se_tmp0;
  2001. while (!(((_i)>((/*RF2*/(((T101*)_r))->_upper/*8*/)))||(((/*RF2*/((*(se_tmp0=r100start_position((T100*)(r101item(((T101*)_r),_i))),&se_tmp0)))._base_class/*0*/))!=((void*)(_bc)))))
  2002. {
  2003. r101add_last(((T101*)_r2),r101item(((T101*)_r),_i));
  2004. _i=(_i)+(1);
  2005. }
  2006. }
  2007. {T286*n=((T286*)malloc(sizeof(*n))/*25*/);
  2008. *n=M286;
  2009. r286make_runnable(n,_sp,_r2,a2,a1);
  2010. _er=((T0*)n);
  2011. }
  2012. {T376*n=((T376*)malloc(sizeof(*n))/*4*/);
  2013. *n=M376;
  2014. r376make(n,_er);
  2015. R=((T0*)n);
  2016. }
  2017. while (!((_i)>((/*RF2*/(((T101*)_r))->_upper/*8*/))))
  2018. {
  2019. {T101*n=((T101*)malloc(sizeof(*n))/*16*/);
  2020. *n=M101;
  2021. r101with_capacity(n,r101count(((T101*)_r)),1);
  2022. _r2=((T0*)n);
  2023. }
  2024. _a=r101item(((T101*)_r),_i);
  2025. r101add_last(((T101*)_r2),_a);
  2026. {T68 se_tmp0;
  2027. _sp=(*(se_tmp0=r100start_position(((T100*)_a)),&se_tmp0));
  2028. }
  2029. _bc=(/*RF2*/(_sp)._base_class/*0*/);
  2030. _i=(_i)+(1);
  2031. {T68 se_tmp0;
  2032. while (!(((_i)>((/*RF2*/(((T101*)_r))->_upper/*8*/)))||(((/*RF2*/((*(se_tmp0=r100start_position((T100*)(r101item(((T101*)_r),_i))),&se_tmp0)))._base_class/*0*/))!=((void*)(_bc)))))
  2033. {
  2034. r101add_last(((T101*)_r2),r101item(((T101*)_r),_i));
  2035. _i=(_i)+(1);
  2036. }
  2037. }
  2038. {T286*n=((T286*)malloc(sizeof(*n))/*25*/);
  2039. *n=M286;
  2040. r286make_runnable(n,_sp,_r2,a2,a1);
  2041. _er=((T0*)n);
  2042. }
  2043. r376add(((T376*)R),_er);
  2044. }
  2045. }
  2046. /*FI]*/
  2047. return R;
  2048. }
  2049.  
  2050.  
  2051. void r383assertion_add_last(T383* C,T0* a1){
  2052. T0* _e=NULL;
  2053. T0* _r=NULL;
  2054. /*[IF*/
  2055. if((/*RF2*/(C)->_processing_require/*0*/)){
  2056. _r=X90require_assertion(a1);
  2057. /*[IF*/
  2058. if((_r)!=((void*)(NULL))){
  2059. /*[IF*/
  2060. if(((/*RF2*/(C)->_header_comment/*1*/))==((void*)(NULL))){
  2061. (/*SFN*/C->_header_comment)=(/*RF2*/(((T286*)_r))->_header_comment/*8*/);
  2062. }
  2063. /*FI]*/
  2064. r286add_into(((T286*)_r),oBC383collector);
  2065. }
  2066. /*FI]*/
  2067. }
  2068. else{
  2069. _e=X90ensure_assertion(a1);
  2070. /*[IF*/
  2071. if((_e)!=((void*)(NULL))){
  2072. /*[IF*/
  2073. if(((/*RF2*/(C)->_header_comment/*1*/))==((void*)(NULL))){
  2074. (/*SFN*/C->_header_comment)=(/*RF2*/(((T214*)_e))->_header_comment/*8*/);
  2075. }
  2076. /*FI]*/
  2077. r214add_into(((T214*)_e),oBC383collector);
  2078. }
  2079. /*FI]*/
  2080. }
  2081. /*FI]*/
  2082. }
  2083.  
  2084.  
  2085. T0* r383ensure_end(T383* C,T0* a1,T0* a2){
  2086. T0* R=NULL;
  2087. T68 _position={NULL,0};
  2088. T0* _r=NULL;
  2089. _r=r383runnable(oBC383collector,a2,a1,((T3)'E'));
  2090. /*[IF*/
  2091. if((_r)!=((void*)(NULL))){
  2092. _position=(/*RF2*/((T61*)((/*RF2*/((T51*)(X52base_class(a2)))->_name/*18*/)))->_start_position/*0*/);
  2093. {T214*n=((T214*)malloc(sizeof(*n))/*25*/);
  2094. *n=M214;
  2095. r214make_runnable(n,_position,_r,a2,a1);
  2096. R=((T0*)n);
  2097. }
  2098. /*[IRF3.3set_header_comment*/((((T214*)(((T214*)R))))->_header_comment)=((/*RF2*/(C)->_header_comment/*1*/));
  2099. /*]*/
  2100. }
  2101. /*FI]*/
  2102. return R;
  2103. }
  2104.  
  2105.  
  2106. void r383invariant_add_last(T383* C,T0* a1){
  2107. T0* _bc2=NULL;
  2108. T0* _bc=NULL;
  2109. T0* _hc2=NULL;
  2110. r102add_into(((T102*)a1),oBC383collector);
  2111. _hc2=(/*RF2*/(((T102*)a1))->_header_comment/*8*/);
  2112. /*[IF*/
  2113. if(((/*RF2*/(C)->_header_comment/*1*/))==((void*)(NULL))){
  2114. (/*SFN*/C->_header_comment)=_hc2;
  2115. }
  2116.  else if((_hc2)==((void*)(NULL))){
  2117. }
  2118. else{
  2119. _bc=(/*RF2*/((/*RF2*/((T81*)((/*RF2*/(C)->_header_comment/*1*/)))->_start_position/*0*/))._base_class/*0*/);
  2120. _bc2=(/*RF2*/((/*RF2*/(((T81*)_hc2))->_start_position/*0*/))._base_class/*0*/);
  2121. /*[IF*/
  2122. if(((_bc2)==((void*)(_bc)))||(r51is_subclass_of(((T51*)_bc2),_bc))){
  2123. (/*SFN*/C->_header_comment)=_hc2;
  2124. }
  2125. /*FI]*/
  2126. }
  2127. /*FI]*/
  2128. }
  2129. T0*oBC383collector=NULL;
  2130.  
  2131.  
  2132. void r383ensure_start(T383* C){
  2133. r101clear((T101*)(oBC383collector));
  2134. (/*SFN*/C->_header_comment)=NULL;
  2135. }
  2136.  
  2137.  
  2138. void r383require_start(T383* C){
  2139. r101clear((T101*)(oBC383collector));
  2140. (/*SFN*/C->_header_comment)=NULL;
  2141. (/*SFN*/C->_processing_require)=1;
  2142. }
  2143.  
  2144.  
  2145. T0* r383invariant_end(T383* C,T0* a1){
  2146. T0* R=NULL;
  2147. T68 _position={NULL,0};
  2148. T0* _r=NULL;
  2149. _r=r383runnable(oBC383collector,a1,NULL,((T3)'\137'));
  2150. /*[IF*/
  2151. if((_r)!=((void*)(NULL))){
  2152. r49incr_magic_count((T49*)(oBC13small_eiffel));
  2153. _position=(/*RF2*/((T61*)((/*RF2*/((T51*)(X52base_class(a1)))->_name/*18*/)))->_start_position/*0*/);
  2154. {T102*n=((T102*)malloc(sizeof(*n))/*24*/);
  2155. *n=M102;
  2156. r102make_runnable(n,_position,_r,a1,NULL);
  2157. R=((T0*)n);
  2158. }
  2159. /*[IRF3.3set_header_comment*/((((T102*)(((T102*)R))))->_header_comment)=((/*RF2*/(C)->_header_comment/*1*/));
  2160. /*]*/
  2161. }
  2162. /*FI]*/
  2163. return R;
  2164. }
  2165.  
  2166.  
  2167. void r383error(T68 a1,T0* a2){
  2168. r66add_position(a1);
  2169. /*[IRF3.6append*/{T0* b1=a2;
  2170. r7append((T7*)(oBC66explanation),b1);
  2171. }/*]*/
  2172. r66print_as_error((T66*)(oBC13eh));
  2173. }
  2174.  
  2175.  
  2176. void r383invariant_start(T383* C){
  2177. r101clear((T101*)(oBC383collector));
  2178. (/*SFN*/C->_header_comment)=NULL;
  2179. }
  2180.  
  2181.  
  2182. T2 r345id(T345* C){
  2183. T2 R=0;
  2184. R=X52id((/*RF2*/(C)->_current_type/*8*/));
  2185. return R;
  2186. }
  2187.  
  2188.  
  2189. void r345afd_check(T345* C){
  2190. T0* _rc=NULL;
  2191. _rc=X52run_class(X52run_type((/*RF2*/(C)->_result_type/*28*/)));
  2192. }
  2193.  
  2194.  
  2195. T6 r345use_current(T345* C){
  2196. T6 R=0;
  2197. {int z1=(/*RF2*/(C)->_use_current_state/*16*/);
  2198.  
  2199. if((22==z1)){
  2200. R=1;
  2201. }
  2202.  else 
  2203. if((21==z1)){
  2204. }
  2205.  else 
  2206. if((23==z1)){
  2207. (/*SFN*/C->_use_current_state)=24;
  2208. /*[IRF3.3compute_use_current*/((((T345*)(C)))->_use_current_state)=(22);
  2209. /*]*/
  2210. R=((/*RF2*/(C)->_use_current_state/*16*/))==(22);
  2211. }
  2212.  else {R=1;
  2213. }}
  2214. return R;
  2215. }
  2216.  
  2217.  
  2218. void r345fall_down(T345* C){
  2219. T0* _rf=NULL;
  2220. T0* _sub_name=NULL;
  2221. T0* _sub_bc=NULL;
  2222. T0* _current_bc=NULL;
  2223. T0* _sub_rc=NULL;
  2224. T0* _current_rc=NULL;
  2225. T2 _i=0;
  2226. T0* _running=NULL;
  2227. _current_rc=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  2228. _running=(/*RF2*/(((T50*)_current_rc))->_running/*9*/);
  2229. /*[IF*/
  2230. if((_running)!=((void*)(NULL))){
  2231. _current_bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  2232. _i=(/*RF2*/(((T53*)_running))->_lower/*12*/);
  2233. while (!((_i)>((/*RF2*/(((T53*)_running))->_upper/*8*/))))
  2234. {
  2235. _sub_rc=r53item(((T53*)_running),_i);
  2236. /*[IF*/
  2237. if((_sub_rc)!=((void*)(_current_rc))){
  2238. _sub_bc=X52base_class((/*RF2*/(((T50*)_sub_rc))->_current_type/*0*/));
  2239. _sub_name=r51new_name_of(((T51*)_sub_bc),_current_bc,(/*RF2*/(C)->_name/*12*/));
  2240. _rf=r50get_feature(((T50*)_sub_rc),_sub_name);
  2241. }
  2242. /*FI]*/
  2243. _i=(_i)+(1);
  2244. }
  2245. }
  2246. /*FI]*/
  2247. }
  2248.  
  2249.  
  2250. T6 r345is_exported_in(T345* C,T0* a1){
  2251. T6 R=0;
  2252. R=r99gives_permission_to((T99*)(r345clients(C)),a1);
  2253. return R;
  2254. }
  2255.  
  2256.  
  2257. T0* r345clients(T345* C){
  2258. T0* R=NULL;
  2259. T0* _bfbc=NULL;
  2260. T0* _bc=NULL;
  2261. /*[IF*/
  2262. if(((/*RF2*/(C)->_clients_memory/*4*/))==((void*)(NULL))){
  2263. _bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  2264. _bfbc=(/*RF2*/((T315*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/);
  2265. /*[IF*/
  2266. if((_bc)==((void*)(_bfbc))){
  2267. R=(/*RF2*/((T315*)((/*RF2*/(C)->_base_feature/*24*/)))->_clients/*16*/);
  2268. }
  2269. else{
  2270. R=r51clients_for(((T51*)_bc),(/*RF2*/(C)->_name/*12*/));
  2271. }
  2272. /*FI]*/
  2273. (/*SFN*/C->_clients_memory)=R;
  2274. }
  2275. else{
  2276. R=(/*RF2*/(C)->_clients_memory/*4*/);
  2277. }
  2278. /*FI]*/
  2279. return R;
  2280. }
  2281.  
  2282.  
  2283. T0* r345run_class(T345* C){
  2284. T0* R=NULL;
  2285. R=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  2286. return R;
  2287. }
  2288.  
  2289.  
  2290. void r345make(T345* C,T0* a1,T0* a2,T0* a3){
  2291. (/*SFN*/C->_current_type)=a1;
  2292. (/*SFN*/C->_name)=a2;
  2293. (/*SFN*/C->_base_feature)=a3;
  2294. r50add_rf((T50*)(r345run_class(C)),(T0*)C,X82to_key(a2));
  2295. r49incr_magic_count((T49*)(oBC13small_eiffel));
  2296. (/*SFN*/C->_use_current_state)=23;
  2297. (/*SFN*/C->_stupid_switch_state)=23;
  2298. r49push((T49*)(oBC13small_eiffel),(T0*)C);
  2299. r345initialize(C);
  2300. r49pop((T49*)(oBC13small_eiffel));
  2301. }
  2302.  
  2303.  
  2304. void r345fatal_error(T0* a1){
  2305. /*[IRF3.6append*/{T0* b1=a1;
  2306. r7append((T7*)(oBC66explanation),b1);
  2307. }/*]*/
  2308. r66print_as_fatal_error((T66*)(oBC13eh));
  2309. }
  2310.  
  2311.  
  2312. void r345c_assertion_flag(T345* C){
  2313. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  2314. /*]*/
  2315. r345c_frame_descriptor_name_in(C,oBC334c_code);
  2316. r7append((T7*)(oBC334c_code),((T0*)ms334_30285));
  2317. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  2318. /*]*/
  2319. }
  2320.  
  2321.  
  2322. void r345initialize(T345* C){
  2323. (/*SFN*/C->_result_type)=(/*RF2*/((T315*)((/*RF2*/(C)->_base_feature/*24*/)))->_result_type/*20*/);
  2324. (/*SFN*/C->_result_type)=X52to_runnable((/*RF2*/(C)->_result_type/*28*/),(/*RF2*/(C)->_current_type/*8*/));
  2325. }
  2326.  
  2327.  
  2328. T0* r345stupid_switch(T345* C,T0* a1){
  2329. T0* R=NULL;
  2330. {int z1=(/*RF2*/(C)->_stupid_switch_state/*20*/);
  2331.  
  2332. if((22==z1)){
  2333. R=((T0*)ms345_5250);
  2334. }
  2335.  else 
  2336. if((21==z1)){
  2337. }
  2338.  else 
  2339. if((23==z1)){
  2340. (/*SFN*/C->_stupid_switch_state)=24;
  2341. r345compute_stupid_switch(C,a1);
  2342. /*[IF*/
  2343. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(22)){
  2344. R=((T0*)ms345_5250);
  2345. }
  2346. /*FI]*/
  2347. }
  2348.  else {}}
  2349. return R;
  2350. }
  2351.  
  2352.  
  2353. void r345compute_stupid_switch(T345* C,T0* a1){
  2354. /*[IF*/
  2355. if(r325attribute_read_removal((T0*)C,a1)){
  2356. (/*SFN*/C->_stupid_switch_state)=22;
  2357. }
  2358. else{
  2359. (/*SFN*/C->_stupid_switch_state)=21;
  2360. }
  2361. /*FI]*/
  2362. }
  2363.  
  2364.  
  2365. void r345mapping_c(T345* C){
  2366. T0* _ct=NULL;
  2367. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms345_5256));
  2368. /*]*/
  2369. _ct=(/*RF2*/(C)->_current_type/*8*/);
  2370. /*[IF*/
  2371. if(X52is_basic_eiffel_expanded(_ct)){
  2372. r325put_target_as_value((T325*)(oBC13cpp));
  2373. }
  2374.  else if(X52is_reference(_ct)){
  2375. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2376. T3 b1=((T3)'\50');
  2377. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2378. }/*]*/
  2379. /*]*/
  2380. r325put_target_as_target((T325*)(oBC13cpp));
  2381. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms345_972));
  2382. /*]*/
  2383. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/(C)->_name/*12*/)));
  2384. /*]*/
  2385. /*[IRF3.6force_c_recompilation_comment*/{T50* C1=(T50*)(r345run_class(C));
  2386. T0* b1=(T0*)C;
  2387. r325put_recompilation_comment(r50offset_of(C1,b1));
  2388. }/*]*/
  2389. }
  2390. else{
  2391. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2392. T3 b1=((T3)'\50');
  2393. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2394. }/*]*/
  2395. /*]*/
  2396. r325put_target_as_value((T325*)(oBC13cpp));
  2397. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms345_546));
  2398. /*]*/
  2399. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/(C)->_name/*12*/)));
  2400. /*]*/
  2401. /*[IRF3.6force_c_recompilation_comment*/{T50* C1=(T50*)(r345run_class(C));
  2402. T0* b1=(T0*)C;
  2403. r325put_recompilation_comment(r50offset_of(C1,b1));
  2404. }/*]*/
  2405. }
  2406. /*FI]*/
  2407. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2408. T3 b1=((T3)'\51');
  2409. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2410. }/*]*/
  2411. /*]*/
  2412. }
  2413.  
  2414.  
  2415. void r345address_of_c_mapping(T345* C){
  2416. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms345_156));
  2417. /*]*/
  2418. r325print_current((T325*)(oBC13cpp));
  2419. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms345_606));
  2420. /*]*/
  2421. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/(C)->_name/*12*/)));
  2422. /*]*/
  2423. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2424. T3 b1=((T3)'\51');
  2425. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2426. }/*]*/
  2427. /*]*/
  2428. }
  2429.  
  2430.  
  2431. void r345fe_vffd7(T345* C){
  2432. {T68 se_tmp0;
  2433. r66add_position((*(se_tmp0=X52start_position((/*RF2*/(C)->_result_type/*28*/)),&se_tmp0)));
  2434. }
  2435. r345fatal_error(((T0*)ms334_203069));
  2436. }
  2437.  
  2438.  
  2439. void r345c_frame_descriptor_name_in(T345* C,T0* a1){
  2440. r7extend(((T7*)a1),((T3)'f'));
  2441. r2append_in(r345id(C),a1);
  2442. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
  2443. }
  2444.  
  2445.  
  2446. T0* r138add_comment(T138* C,T0* a1){
  2447. T0* R=NULL;
  2448. /*[IF*/
  2449. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  2450. R=((T0*)(C));
  2451. }
  2452. else{
  2453. {T229*n=((T229*)malloc(sizeof(*n))/*12*/);
  2454. *n=M229;
  2455. r229make(n,(T0*)C,a1);
  2456. R=((T0*)n);
  2457. }
  2458. }
  2459. /*FI]*/
  2460. return R;
  2461. }
  2462.  
  2463.  
  2464. void r138with(T138* C,T0* a1,T0* a2){
  2465. (/*SFN*/C->_to_string)=(/*RF2*/(((T138*)a1))->_to_string/*12*/);
  2466. (/*SFN*/C->_start_position)=(/*RF2*/(((T138*)a1))->_start_position/*4*/);
  2467. (/*SFN*/C->_run_feature_2)=a2;
  2468. }
  2469.  
  2470.  
  2471. void r138mapping_c_target(T138* C,T0* a1){
  2472. T6 _flag=0;
  2473. _flag=r325call_invariant_start(a1);
  2474. r138compile_to_c(C);
  2475. /*[IF*/
  2476. if(_flag){
  2477. /*[IRF3.2call_invariant_end*//*[IRF3.6put_character*/{T48* C1=(T48*)(oBC325out_c);
  2478. T3 b1=((T3)'\51');
  2479. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2480. }/*]*/
  2481. /*]*/
  2482. }
  2483. /*FI]*/
  2484. }
  2485.  
  2486.  
  2487. T0* r138to_runnable(T138* C,T0* a1){
  2488. T0* R=NULL;
  2489. T0* _rf2=NULL;
  2490. T0* _new_name=NULL;
  2491. T0* _rf=NULL;
  2492. T0* _wbc=NULL;
  2493. _wbc=(/*RF2*/((/*RF2*/(C)->_start_position/*4*/))._base_class/*0*/);
  2494. _new_name=r51new_name_of((T51*)(X52base_class(a1)),_wbc,(T0*)C);
  2495. _rf=r50get_feature((T50*)(X52run_class(a1)),_new_name);
  2496. /*[IF*/
  2497. if((_rf)==((void*)(NULL))){
  2498. r66add_feature_name(_new_name);
  2499. r138fatal_error(((T0*)ms14_37417));
  2500. }
  2501. else{
  2502. _rf2=_rf;
  2503. if(NULL!=(_rf2)){
  2504. switch(((T0*)_rf2)->id){
  2505. case 345:
  2506. break;
  2507. default:
  2508. _rf2=NULL;
  2509. }
  2510. }/*[IF*/
  2511. if((_rf2)==((void*)(NULL))){
  2512. {T68 se_tmp0;
  2513. r66add_position((*(se_tmp0=X334start_position(_rf),&se_tmp0)));
  2514. }
  2515. r138error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms138_56430));
  2516. }
  2517. /*FI]*/
  2518. }
  2519. /*FI]*/
  2520. /*[IF*/
  2521. if(((/*RF2*/(C)->_run_feature_2/*16*/))==((void*)(NULL))){
  2522. (/*SFN*/C->_run_feature_2)=_rf2;
  2523. R=((T0*)(C));
  2524. }
  2525.  else if(((/*RF2*/(C)->_run_feature_2/*16*/))==((void*)(_rf))){
  2526. R=((T0*)(C));
  2527. }
  2528. else{
  2529. {T138*n=((T138*)malloc(sizeof(*n))/*20*/);
  2530. *n=M138;
  2531. r138with(n,(T0*)C,_rf2);
  2532. R=((T0*)n);
  2533. }
  2534. }
  2535. /*FI]*/
  2536. return R;
  2537. }
  2538.  
  2539.  
  2540. T2 r138to_integer(T138* C){
  2541. T2 R=0;
  2542. r138error((/*RF2*/(C)->_start_position/*4*/),((T0*)ms14_45441));
  2543. return R;
  2544. }
  2545.  
  2546.  
  2547. void r138error(T68 a1,T0* a2){
  2548. r66add_position(a1);
  2549. /*[IRF3.6append*/{T0* b1=a2;
  2550. r7append((T7*)(oBC66explanation),b1);
  2551. }/*]*/
  2552. r66print_as_error((T66*)(oBC13eh));
  2553. }
  2554.  
  2555.  
  2556. T6 r138can_be_dropped(T138* C){
  2557. T6 R=0;
  2558. r66add_position((/*RF2*/(C)->_start_position/*4*/));
  2559. r138fatal_error(((T0*)ms138_73044));
  2560. return R;
  2561. }
  2562.  
  2563.  
  2564. T0* r138run_feature(T138* C,T0* a1){
  2565. T0* R=NULL;
  2566. R=r50get_rf_with((T50*)(X52run_class(a1)),(T0*)C);
  2567. return R;
  2568. }
  2569.  
  2570.  
  2571. T0* r138static_result_base_class(T138* C){
  2572. T0* R=NULL;
  2573. T0* _cn=NULL;
  2574. T0* _rt=NULL;
  2575. T0* _e_feature=NULL;
  2576. T0* _bc=NULL;
  2577. _bc=(/*RF2*/((/*RF2*/(C)->_start_position/*4*/))._base_class/*0*/);
  2578. /*[IF*/
  2579. if((_bc)!=((void*)(NULL))){
  2580. _e_feature=r51e_feature(((T51*)_bc),(T0*)C);
  2581. /*[IF*/
  2582. if((_e_feature)!=((void*)(NULL))){
  2583. _rt=X90result_type(_e_feature);
  2584. /*[IF*/
  2585. if((_rt)!=((void*)(NULL))){
  2586. _cn=X52static_base_class_name(_rt);
  2587. /*[IF*/
  2588. if((_cn)!=((void*)(NULL))){
  2589. R=r61base_class(((T61*)_cn));
  2590. }
  2591. /*FI]*/
  2592. }
  2593. /*FI]*/
  2594. }
  2595. /*FI]*/
  2596. }
  2597. /*FI]*/
  2598. return R;
  2599. }
  2600.  
  2601.  
  2602. void r138make(T138* C,T0* a1,T68 a2){
  2603. (/*SFN*/C->_to_string)=a1;
  2604. (/*SFN*/C->_start_position)=a2;
  2605. }
  2606.  
  2607.  
  2608. void r138fatal_error(T0* a1){
  2609. /*[IRF3.6append*/{T0* b1=a1;
  2610. r7append((T7*)(oBC66explanation),b1);
  2611. }/*]*/
  2612. r66print_as_fatal_error((T66*)(oBC13eh));
  2613. }
  2614.  
  2615.  
  2616. void r138undefine_in(T138* C,T0* a1){
  2617. /*[IF*/
  2618. /*AF*//*AE*/
  2619. /*FI]*/
  2620. }
  2621.  
  2622.  
  2623. T0* r138origin_base_class(T138* C){
  2624. T0* R=NULL;
  2625. R=(/*RF2*/((/*RF2*/(C)->_start_position/*4*/))._base_class/*0*/);
  2626. return R;
  2627. }
  2628.  
  2629.  
  2630. void r138compile_to_c(T138* C){
  2631. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms138_17064));
  2632. /*]*/
  2633. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/((T345*)((/*RF2*/(C)->_run_feature_2/*16*/)))->_name/*12*/)));
  2634. /*]*/
  2635. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  2636. T3 b1=((T3)'\51');
  2637. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  2638. }/*]*/
  2639. /*]*/
  2640. }
  2641.  
  2642.  
  2643. T6 r138stupid_switch(T138* C,T0* a1){
  2644. T6 R=0;
  2645. T0* _rf2=NULL;
  2646. _rf2=(/*RF2*/(C)->_run_feature_2/*16*/);
  2647. /*[IF*/
  2648. if((_rf2)!=((void*)(NULL))){
  2649. /*[IF*/
  2650. if(r49same_base_feature(_rf2,a1)){
  2651. R=(r345stupid_switch(((T345*)_rf2),a1))!=((void*)(NULL));
  2652. }
  2653. /*FI]*/
  2654. }
  2655. /*FI]*/
  2656. return R;
  2657. }
  2658.  
  2659.  
  2660. T0* r155runnable_expression(T0* a1,T0* a2){
  2661. T0* R=NULL;
  2662. R=X104to_runnable(a1,a2);
  2663. /*[IF*/
  2664. if((R)==((void*)(NULL))){
  2665. {T68 se_tmp0;
  2666. r66add_position((*(se_tmp0=X104start_position(a1),&se_tmp0)));
  2667. }
  2668. r155fatal_error(((T0*)ms116_16290));
  2669. }
  2670. /*FI]*/
  2671. return R;
  2672. }
  2673.  
  2674.  
  2675. void r155run_feature_match(T155* C,T0* a1){
  2676. r155run_feature_has_no_result(C);
  2677. X139match_with((/*RF2*/(C)->_arguments/*16*/),(/*RF2*/(C)->_run_feature/*12*/),a1);
  2678. }
  2679.  
  2680.  
  2681. T0* r155add_comment(T155* C,T0* a1){
  2682. T0* R=NULL;
  2683. /*[IF*/
  2684. if(((a1)==((void*)(NULL)))||((/*(IRF4.6count*/r44count(((T44*)((/*RF2*/(((T81*)a1))->_list/*8*/))))/*)*/)==(0))){
  2685. R=((T0*)(C));
  2686. }
  2687. /*AF*/else{
  2688. {T224*n=((T224*)malloc(sizeof(*n))/*12*/);
  2689. *n=M224;
  2690. r224make(n,(T0*)C,a1);
  2691. R=((T0*)n);
  2692. }
  2693. }
  2694. /*FI]*/
  2695. return R;
  2696. }
  2697.  
  2698.  
  2699. void r155with(T155* C,T0* a1,T0* a2,T0* a3,T0* a4,T0* a5){
  2700. (/*SFN*/C->_target)=a1;
  2701. (/*SFN*/C->_feature_name)=a2;
  2702. (/*SFN*/C->_arguments)=a3;
  2703. (/*SFN*/C->_run_feature)=a4;
  2704. r155run_feature_match(C,a5);
  2705. }
  2706.  
  2707.  
  2708. void r155afd_check(T155* C){
  2709. T0* _running=NULL;
  2710. T0* _rc=NULL;
  2711. /*[IF*/
  2712. if(((/*RF2*/(C)->_run_feature/*12*/))!=((void*)(NULL))){
  2713. _rc=X52run_class(X104result_type((/*RF2*/(C)->_target/*4*/)));
  2714. _running=(/*RF2*/(((T50*)_rc))->_running/*9*/);
  2715. /*[IF*/
  2716. if((_running)==((void*)(NULL))){
  2717. }
  2718.  else if((r53count(((T53*)_running)))>(1)){
  2719. r351update((/*RF2*/(C)->_target/*4*/),(/*RF2*/(C)->_run_feature/*12*/));
  2720. }
  2721. /*FI]*/
  2722. }
  2723. /*FI]*/
  2724. X104afd_check((/*RF2*/(C)->_target/*4*/));
  2725. /*[IF*/
  2726. if((r155arg_count(C))>(0)){
  2727. /*SSPRF3*//*X139afd_check*/r139afd_check((T139*)((/*RF2*/(C)->_arguments/*16*/)));
  2728. }
  2729. /*FI]*/
  2730. }
  2731.  
  2732.  
  2733. void r155collect_c_tmp(T155* C){
  2734. /*[IF*/
  2735. if(((/*RF2*/(C)->_run_feature/*12*/))!=((void*)(NULL))){
  2736. X334collect_c_tmp((/*RF2*/(C)->_run_feature/*12*/));
  2737. }
  2738. /*FI]*/
  2739. X104collect_c_tmp((/*RF2*/(C)->_target/*4*/));
  2740. /*[IF*/
  2741. if(((/*RF2*/(C)->_arguments/*16*/))!=((void*)(NULL))){
  2742. /*SSPRF3*//*X139collect_c_tmp*/r139collect_c_tmp((T139*)((/*RF2*/(C)->_arguments/*16*/)));
  2743. }
  2744. /*FI]*/
  2745. }
  2746.  
  2747.  
  2748. T6 r155use_current(T155* C){
  2749. T6 R=0;
  2750. /*[IF*/
  2751. if((r155arg_count(C))>(0)){
  2752. R=/*SSFRF4*//*X139use_current*/r139use_current((T139*)((/*RF2*/(C)->_arguments/*16*/)));
  2753. }
  2754. /*FI]*/
  2755. /*[IF*/
  2756. if(R){
  2757. }
  2758.  else if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  2759. R=X334use_current((/*RF2*/(C)->_run_feature/*12*/));
  2760. }
  2761. else{
  2762. R=X104use_current((/*RF2*/(C)->_target/*4*/));
  2763. }
  2764. /*FI]*/
  2765. return R;
  2766. }
  2767.  
  2768.  
  2769. T0* r155runnable_args(T0* a1,T0* a2){
  2770. T0* R=NULL;
  2771. R=X139to_runnable(a1,a2);
  2772. /*[IF*/
  2773. if((R)==((void*)(NULL))){
  2774. {T68 se_tmp0;
  2775. r66add_position((*(se_tmp0=X139start_position(a1),&se_tmp0)));
  2776. }
  2777. r155fatal_error(((T0*)ms14_12870));
  2778. }
  2779. /*FI]*/
  2780. return R;
  2781. }
  2782.  
  2783.  
  2784. T0* r155to_runnable(T155* C,T0* a1){
  2785. T0* R=NULL;
  2786. T0* _rf=NULL;
  2787. T0* _a=NULL;
  2788. T0* _t=NULL;
  2789. _t=r155runnable_expression((/*RF2*/(C)->_target/*4*/),a1);
  2790. _a=r155runnable_args((/*RF2*/(C)->_arguments/*16*/),a1);
  2791. _rf=r155run_feature_for(C,_t,a1);
  2792. /*[IF*/
  2793. if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(NULL))){
  2794. (/*SFN*/C->_target)=_t;
  2795. (/*SFN*/C->_arguments)=_a;
  2796. (/*SFN*/C->_run_feature)=_rf;
  2797. r155run_feature_match(C,a1);
  2798. R=((T0*)(C));
  2799. }
  2800.  else if(((_t)==((void*)((/*RF2*/(C)->_target/*4*/))))&&((_a)==((void*)((/*RF2*/(C)->_arguments/*16*/))))){
  2801. R=((T0*)(C));
  2802. }
  2803. else{
  2804. {T155*n=((T155*)malloc(sizeof(*n))/*20*/);
  2805. *n=M155;
  2806. r155with(n,_t,(/*RF2*/(C)->_feature_name/*8*/),_a,_rf,a1);
  2807. R=((T0*)n);
  2808. }
  2809. }
  2810. /*FI]*/
  2811. return R;
  2812. }
  2813.  
  2814.  
  2815. T0* r155make_runnable(T155* C,T0* a1,T0* a2,T0* a3){
  2816. T0* R=NULL;
  2817. /*[IF*/
  2818. if(((/*RF2*/(C)->_run_feature/*12*/))==((void*)(NULL))){
  2819. (/*SFN*/C->_target)=a1;
  2820. (/*SFN*/C->_arguments)=a2;
  2821. (/*SFN*/C->_run_feature)=a3;
  2822. R=((T0*)(C));
  2823. }
  2824. else{
  2825. {T155*n=((T155*)malloc(sizeof(*n))/*20*/);
  2826. *n=M155;
  2827. r155make(n,a1,(/*RF2*/(C)->_feature_name/*8*/),a2);
  2828. R=((T0*)n);
  2829. }
  2830. /*[IRF3.3set_run_feature*/((((T155*)(((T155*)R))))->_run_feature)=(a3);
  2831. /*]*/
  2832. }
  2833. /*FI]*/
  2834. return R;
  2835. }
  2836.  
  2837.  
  2838. void r155finalize(T155* C){
  2839. T0* _rf=NULL;
  2840. T0* _rc=NULL;
  2841. _rf=(/*RF2*/(C)->_run_feature/*12*/);
  2842. _rc=X52run_class(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/));
  2843. (/*SFN*/C->_run_feature)=r50dynamic((T50*)(/*(IRF4.6first*/((/*RF2*/((T53*)((/*RF2*/(((T50*)_rc))->_running/*9*/)))->_storage/*0*/))[0]/*)*/),_rf);
  2844. }
  2845.  
  2846.  
  2847. T6 r155call_proc_call_stupid_switch(T155* C,T0* a1){
  2848. T6 R=0;
  2849. /*[IF*/
  2850. if(((/*RF2*/(C)->_arguments/*16*/))==((void*)(NULL))){
  2851. R=1;
  2852. }
  2853. else{
  2854. R=/*SSFRF4*//*X139stupid_switch*/r139stupid_switch((T139*)((/*RF2*/(C)->_arguments/*16*/)),a1);
  2855. }
  2856. /*FI]*/
  2857. /*[IF*/
  2858. if(R){
  2859. /*[IF*/
  2860. if(X104is_current((/*RF2*/(C)->_target/*4*/))){
  2861. /*[IF*/
  2862. if(r49same_base_feature((/*RF2*/(C)->_run_feature/*12*/),a1)){
  2863. R=(X334stupid_switch((/*RF2*/(C)->_run_feature/*12*/),a1))!=((void*)(NULL));
  2864. }
  2865. else{
  2866. R=0;
  2867. }
  2868. /*FI]*/
  2869. }
  2870. else{
  2871. R=X104stupid_switch((/*RF2*/(C)->_target/*4*/),a1);
  2872. }
  2873. /*FI]*/
  2874. }
  2875. /*FI]*/
  2876. return R;
  2877. }
  2878.  
  2879.  
  2880. T0* r155run_feature_for(T155* C,T0* a1,T0* a2){
  2881. T0* R=NULL;
  2882. T0* _bc=NULL;
  2883. T0* _rt=NULL;
  2884. T0* _rc=NULL;
  2885. _rt=X104result_type(a1);
  2886. /*[IF*/
  2887. if((_rt)!=((void*)(NULL))){
  2888. _rc=X52run_class(_rt);
  2889. /*[IF*/
  2890. if((_rc)!=((void*)(NULL))){
  2891. _bc=r50base_class(((T50*)_rc));
  2892. R=r51run_feature_for(((T51*)_bc),_rc,a1,(/*RF2*/(C)->_feature_name/*8*/),a2);
  2893. }
  2894. /*FI]*/
  2895. }
  2896. /*FI]*/
  2897. /*[IF*/
  2898. if((R)==((void*)(NULL))){
  2899. {T68 se_tmp0;
  2900. r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
  2901. }
  2902. /*[IRF3.6append*/{T0* b1=((T0*)ms116_39025);
  2903. r7append((T7*)(oBC66explanation),b1);
  2904. }/*]*/
  2905. r66print_as_fatal_error((T66*)(oBC13eh));
  2906. }
  2907. /*FI]*/
  2908. return R;
  2909. }
  2910.  
  2911.  
  2912. void r155make(T155* C,T0* a1,T0* a2,T0* a3){
  2913. (/*SFN*/C->_target)=a1;
  2914. (/*SFN*/C->_feature_name)=a2;
  2915. (/*SFN*/C->_arguments)=a3;
  2916. }
  2917.  
  2918.  
  2919. void r155fatal_error(T0* a1){
  2920. /*[IRF3.6append*/{T0* b1=a1;
  2921. r7append((T7*)(oBC66explanation),b1);
  2922. }/*]*/
  2923. r66print_as_fatal_error((T66*)(oBC13eh));
  2924. }
  2925.  
  2926.  
  2927. void r155run_feature_has_no_result(T155* C){
  2928. /*[IF*/
  2929. if((X334result_type((/*RF2*/(C)->_run_feature/*12*/)))!=((void*)(NULL))){
  2930. {T68 se_tmp0;
  2931. r66add_position((*(se_tmp0=X334start_position((/*RF2*/(C)->_run_feature/*12*/)),&se_tmp0)));
  2932. }
  2933. {T68 se_tmp0;
  2934. r66add_position((*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0)));
  2935. }
  2936. r155fatal_error(((T0*)ms152_66627));
  2937. }
  2938. /*FI]*/
  2939. }
  2940.  
  2941.  
  2942. void r155compile_to_c(T155* C){
  2943. {T68 se_tmp0;
  2944. r325se_trace_ins((T325*)(oBC13cpp),(*(se_tmp0=r155start_position(C),&se_tmp0)));
  2945. }
  2946. /*[IRF3.6call_proc_call_c2c*/{T155* C1=C;
  2947. r325put_cpc((T325*)(oBC13cpp),(T0*)C1);
  2948. }/*]*/
  2949. }
  2950.  
  2951.  
  2952. T2 r155arg_count(T155* C){
  2953. T2 R=0;
  2954. R=/*SSFRF4*//*X139count*/r139count((T139*)((/*RF2*/(C)->_arguments/*16*/)));
  2955. return R;
  2956. }
  2957.  
  2958.  
  2959. T6 r155stupid_switch(T155* C,T0* a1){
  2960. T6 R=0;
  2961. R=r155call_proc_call_stupid_switch(C,a1);
  2962. return R;
  2963. }
  2964.  
  2965.  
  2966. T68 r155start_position(T155* C){
  2967. T68 R={NULL,0};
  2968. {T68 se_tmp0;
  2969. R=(*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*8*/)),&se_tmp0));
  2970. }
  2971. return R;
  2972. }
  2973.  
  2974.  
  2975. void r316declaration_in(T316* C,T0* a1){
  2976. X82declaration_in((/*RF2*/(C)->_feature_name/*4*/),a1);
  2977. }
  2978.  
  2979.  
  2980. void r316undefine_in(T316* C,T0* a1){
  2981. /*[IF*/
  2982. {/*AT*/{T68 se_tmp0;
  2983. r316error((*(se_tmp0=r316start_position(C),&se_tmp0)),((T0*)ms82_116840));
  2984. }
  2985. r51fatal_undefine(((T51*)a1),(T0*)C);
  2986. }
  2987. /*FI]*/
  2988. }
  2989.  
  2990.  
  2991. T0* r316origin_base_class(T316* C){
  2992. T0* R=NULL;
  2993. {T68 se_tmp0;
  2994. R=(/*RF2*/((*(se_tmp0=r316start_position(C),&se_tmp0)))._base_class/*0*/);
  2995. }
  2996. return R;
  2997. }
  2998.  
  2999.  
  3000. T0* r316to_key(T316* C){
  3001. T0* R=NULL;
  3002. R=X82to_key((/*RF2*/(C)->_feature_name/*4*/));
  3003. return R;
  3004. }
  3005.  
  3006.  
  3007. void r316put_cpp_tag(T316* C){
  3008. X82put_cpp_tag((/*RF2*/(C)->_feature_name/*4*/));
  3009. }
  3010.  
  3011.  
  3012. T0* r316to_string(T316* C){
  3013. T0* R=NULL;
  3014. R=X82to_string((/*RF2*/(C)->_feature_name/*4*/));
  3015. return R;
  3016. }
  3017.  
  3018.  
  3019. void r316error(T68 a1,T0* a2){
  3020. r66add_position(a1);
  3021. /*[IRF3.6append*/{T0* b1=a2;
  3022. r7append((T7*)(oBC66explanation),b1);
  3023. }/*]*/
  3024. r66print_as_error((T66*)(oBC13eh));
  3025. }
  3026.  
  3027.  
  3028. void r316mapping_c_in(T316* C,T0* a1){
  3029. X82mapping_c_in((/*RF2*/(C)->_feature_name/*4*/),a1);
  3030. }
  3031.  
  3032.  
  3033. T68 r316start_position(T316* C){
  3034. T68 R={NULL,0};
  3035. {T68 se_tmp0;
  3036. R=(*(se_tmp0=X82start_position((/*RF2*/(C)->_feature_name/*4*/)),&se_tmp0));
  3037. }
  3038. return R;
  3039. }
  3040.  
  3041.  
  3042. void r368default_mapping_procedure(T368* C){
  3043. r368default_mapping_function(C);
  3044. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  3045. /*]*/
  3046. }
  3047. T0*oBC368tmp_string=NULL;
  3048.  
  3049.  
  3050. T2 r368id(T368* C){
  3051. T2 R=0;
  3052. R=X52id((/*RF2*/(C)->_current_type/*8*/));
  3053. return R;
  3054. }
  3055.  
  3056.  
  3057. void r368address_of_c_mapping_wrapper(T368* C){
  3058. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  3059. /*]*/
  3060. r368address_of_wrapper_name_in(C,oBC334c_code);
  3061. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  3062. /*]*/
  3063. }
  3064.  
  3065.  
  3066. void r368fall_down(T368* C){
  3067. T0* _rf=NULL;
  3068. T0* _sub_name=NULL;
  3069. T0* _sub_bc=NULL;
  3070. T0* _current_bc=NULL;
  3071. T0* _sub_rc=NULL;
  3072. T0* _current_rc=NULL;
  3073. T2 _i=0;
  3074. T0* _running=NULL;
  3075. _current_rc=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  3076. _running=(/*RF2*/(((T50*)_current_rc))->_running/*9*/);
  3077. /*[IF*/
  3078. if((_running)!=((void*)(NULL))){
  3079. _current_bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  3080. _i=(/*RF2*/(((T53*)_running))->_lower/*12*/);
  3081. while (!((_i)>((/*RF2*/(((T53*)_running))->_upper/*8*/))))
  3082. {
  3083. _sub_rc=r53item(((T53*)_running),_i);
  3084. /*[IF*/
  3085. if((_sub_rc)!=((void*)(_current_rc))){
  3086. _sub_bc=X52base_class((/*RF2*/(((T50*)_sub_rc))->_current_type/*0*/));
  3087. _sub_name=r51new_name_of(((T51*)_sub_bc),_current_bc,(/*RF2*/(C)->_name/*12*/));
  3088. _rf=r50get_feature(((T50*)_sub_rc),_sub_name);
  3089. }
  3090. /*FI]*/
  3091. _i=(_i)+(1);
  3092. }
  3093. }
  3094. /*FI]*/
  3095. }
  3096.  
  3097.  
  3098. void r368compute_use_current(T368* C){
  3099. T0* _ct=NULL;
  3100. _ct=(/*RF2*/(C)->_current_type/*8*/);
  3101. /*[IF*/
  3102. if(X52is_reference(_ct)){
  3103. /*[IF*/
  3104. if(r47no_check((T47*)(oBC13run_control))){
  3105. (/*SFN*/C->_use_current_state)=22;
  3106. }
  3107. else{
  3108. r368std_compute_use_current(C);
  3109. }
  3110. /*FI]*/
  3111. }
  3112. else{
  3113. r368std_compute_use_current(C);
  3114. }
  3115. /*FI]*/
  3116. }
  3117. T0*oBC13exceptions_handler=NULL;
  3118. T0*oBC13c_frame_descriptor_locals=NULL;
  3119.  
  3120.  
  3121. void r368c_define(T368* C){
  3122. /*[IF*/
  3123. if(r368isa_in_line(C)){
  3124. r325incr_inlined_procedure_count((T325*)(oBC13cpp));
  3125. }
  3126.  else if(/*(IRF4.7c_define_done*/((/*RF2*/(C)->_in_line_status/*52*/))==(-(2))/*)*/){
  3127. }
  3128. else{
  3129. (/*SFN*/C->_in_line_status)=-(2);
  3130. /*[IF*/
  3131. if(r368use_current(C)){
  3132. r325incr_procedure_count((T325*)(oBC13cpp));
  3133. }
  3134. else{
  3135. r325incr_real_procedure_count((T325*)(oBC13cpp));
  3136. }
  3137. /*FI]*/
  3138. r368define_prototype(C);
  3139. r368c_define_opening(C);
  3140. /*[IF*/
  3141. if(((/*RF2*/(C)->_routine_body/*40*/))!=((void*)(NULL))){
  3142. r215compile_to_c((T215*)((/*RF2*/(C)->_routine_body/*40*/)));
  3143. }
  3144. /*FI]*/
  3145. r368c_define_closing(C);
  3146. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_270a));
  3147. /*]*/
  3148. r368c_frame_descriptor(C);
  3149. }
  3150. /*FI]*/
  3151. }
  3152.  
  3153.  
  3154. T6 r368need_local_vars(T368* C){
  3155. T6 R=0;
  3156. /*[IF*/
  3157. if(((/*RF2*/(C)->_local_vars/*36*/))!=((void*)(NULL))){
  3158. R=r169produce_c((T169*)((/*RF2*/(C)->_local_vars/*36*/)));
  3159. }
  3160. /*FI]*/
  3161. return R;
  3162. }
  3163.  
  3164.  
  3165. T0* r368clients(T368* C){
  3166. T0* R=NULL;
  3167. T0* _bfbc=NULL;
  3168. T0* _bc=NULL;
  3169. /*[IF*/
  3170. if(((/*RF2*/(C)->_clients_memory/*4*/))==((void*)(NULL))){
  3171. _bc=X52base_class((/*RF2*/(C)->_current_type/*8*/));
  3172. _bfbc=(/*RF2*/((T303*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/);
  3173. /*[IF*/
  3174. if((_bc)==((void*)(_bfbc))){
  3175. R=(/*RF2*/((T303*)((/*RF2*/(C)->_base_feature/*24*/)))->_clients/*16*/);
  3176. }
  3177. else{
  3178. R=r51clients_for(((T51*)_bc),(/*RF2*/(C)->_name/*12*/));
  3179. }
  3180. /*FI]*/
  3181. (/*SFN*/C->_clients_memory)=R;
  3182. }
  3183. else{
  3184. R=(/*RF2*/(C)->_clients_memory/*4*/);
  3185. }
  3186. /*FI]*/
  3187. return R;
  3188. }
  3189.  
  3190.  
  3191. void r368put_c_name_tag(T368* C){
  3192. T0* _fn=NULL;
  3193. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3194. T3 b1=((T3)'\42');
  3195. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3196. }/*]*/
  3197. /*]*/
  3198. _fn=/*(IRF4.6first_name*/(/*RF2*/(((T83*)((/*RF2*/((T303*)((/*RF2*/(C)->_base_feature/*24*/)))->_names/*8*/))))->_first/*0*/)/*)*/;
  3199. /*[IF*/
  3200. if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
  3201. X82put_cpp_tag((/*RF2*/(C)->_name/*12*/));
  3202. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/(C)->_name/*12*/)));
  3203. /*]*/
  3204. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3205. T3 b1=((T3)'\40');
  3206. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3207. }/*]*/
  3208. /*]*/
  3209. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3210. T3 b1=((T3)'\50');
  3211. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3212. }/*]*/
  3213. /*]*/
  3214. }
  3215. /*FI]*/
  3216. X82put_cpp_tag(_fn);
  3217. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string(_fn));
  3218. /*]*/
  3219. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_1108));
  3220. /*]*/
  3221. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/((T61*)(/*(IRF4.6base_class_name*/(/*RF2*/(((T51*)((/*RF2*/((T303*)((/*RF2*/(C)->_base_feature/*24*/)))->_base_class/*4*/))))->_name/*18*/)/*)*/))->_to_string/*8*/));
  3222. /*]*/
  3223. /*[IF*/
  3224. if((X82to_key(_fn))!=((void*)(X82to_key((/*RF2*/(C)->_name/*12*/))))){
  3225. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3226. T3 b1=((T3)'\51');
  3227. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3228. }/*]*/
  3229. /*]*/
  3230. }
  3231. /*FI]*/
  3232. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3233. T3 b1=((T3)'\42');
  3234. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3235. }/*]*/
  3236. /*]*/
  3237. }
  3238.  
  3239.  
  3240. void r368std_compute_use_current(T368* C){
  3241. /*[IF*/
  3242. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  3243. /*[IF*/
  3244. if(((/*RF2*/(C)->_require_assertion/*32*/))!=((void*)(NULL))){
  3245. /*[IF*/
  3246. if(r376use_current((T376*)((/*RF2*/(C)->_require_assertion/*32*/)))){
  3247. (/*SFN*/C->_use_current_state)=22;
  3248. }
  3249. /*FI]*/
  3250. }
  3251. /*FI]*/
  3252. }
  3253. /*FI]*/
  3254. /*[IF*/
  3255. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  3256. /*[IF*/
  3257. if(((/*RF2*/(C)->_routine_body/*40*/))!=((void*)(NULL))){
  3258. /*[IF*/
  3259. if(r215use_current((T215*)((/*RF2*/(C)->_routine_body/*40*/)))){
  3260. (/*SFN*/C->_use_current_state)=22;
  3261. }
  3262. /*FI]*/
  3263. }
  3264. /*FI]*/
  3265. }
  3266. /*FI]*/
  3267. /*[IF*/
  3268. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  3269. /*[IF*/
  3270. if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
  3271. /*[IF*/
  3272. if(r215use_current((T215*)((/*RF2*/(C)->_rescue_compound/*44*/)))){
  3273. (/*SFN*/C->_use_current_state)=22;
  3274. }
  3275. /*FI]*/
  3276. }
  3277. /*FI]*/
  3278. }
  3279. /*FI]*/
  3280. /*[IF*/
  3281. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  3282. /*[IF*/
  3283. if(((/*RF2*/(C)->_ensure_assertion/*48*/))!=((void*)(NULL))){
  3284. /*[IF*/
  3285. if(r214use_current((T214*)((/*RF2*/(C)->_ensure_assertion/*48*/)))){
  3286. (/*SFN*/C->_use_current_state)=22;
  3287. }
  3288. /*FI]*/
  3289. }
  3290. /*FI]*/
  3291. }
  3292. /*FI]*/
  3293. /*[IF*/
  3294. if(((/*RF2*/(C)->_use_current_state/*16*/))==(24)){
  3295. (/*SFN*/C->_use_current_state)=21;
  3296. }
  3297. /*FI]*/
  3298. }
  3299.  
  3300.  
  3301. void r368address_of_c_define(T368* C,T0* a1){
  3302. /*[IF*/
  3303. if(r47boost((T47*)(oBC13run_control))){
  3304. /*[IF*/
  3305. if(r368isa_in_line(C)){
  3306. r368address_of_c_define_wrapper(C,a1);
  3307. }
  3308.  else if(r368use_current(C)){
  3309. }
  3310. else{
  3311. r368address_of_c_define_wrapper(C,a1);
  3312. }
  3313. /*FI]*/
  3314. }
  3315. else{
  3316. r368address_of_c_define_wrapper(C,a1);
  3317. }
  3318. /*FI]*/
  3319. }
  3320.  
  3321.  
  3322. T0* r368run_ensure(T368* C){
  3323. T0* R=NULL;
  3324. R=r51run_ensure((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
  3325. return R;
  3326. }
  3327.  
  3328.  
  3329. T6 r368empty_or_null_body(T368* C){
  3330. T6 R=0;
  3331. T0* _rb=NULL;
  3332. _rb=(/*RF2*/(C)->_routine_body/*40*/);
  3333. R=((_rb)==((void*)(NULL)))||(/*(IRF4.7empty_or_null_body*/((/*RF2*/(((T215*)_rb))->_first_one/*8*/))==(NULL)/*)*/);
  3334. return R;
  3335. }
  3336.  
  3337.  
  3338. void r368address_of_wrapper_name_in(T368* C,T0* a1){
  3339. r7extend(((T7*)a1),((T3)'W'));
  3340. r2append_in(r368id(C),a1);
  3341. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
  3342. }
  3343.  
  3344.  
  3345. void r368make(T368* C,T0* a1,T0* a2,T0* a3){
  3346. (/*SFN*/C->_current_type)=a1;
  3347. (/*SFN*/C->_name)=a2;
  3348. (/*SFN*/C->_base_feature)=a3;
  3349. r50add_rf((T50*)(r368run_class(C)),(T0*)C,X82to_key(a2));
  3350. r49incr_magic_count((T49*)(oBC13small_eiffel));
  3351. (/*SFN*/C->_use_current_state)=23;
  3352. (/*SFN*/C->_stupid_switch_state)=23;
  3353. r49push((T49*)(oBC13small_eiffel),(T0*)C);
  3354. r368initialize(C);
  3355. r49pop((T49*)(oBC13small_eiffel));
  3356. }
  3357.  
  3358.  
  3359. T6 r368dca(T368* C){
  3360. T6 R=0;
  3361. T0* _args=NULL;
  3362. T0* _rf=NULL;
  3363. T0* _pc=NULL;
  3364. _pc=r368body_one_dpca(C);
  3365. /*[IF*/
  3366. if(((_pc)!=((void*)(NULL)))&&(((/*RF2*/(C)->_local_vars/*36*/))==((void*)(NULL)))){
  3367. _rf=/*SSWARF2*//*X152run_feature*/(/*RF2*/(((T155*)_pc))->_run_feature/*12*/);
  3368. /*[IF*/
  3369. if((_rf)!=((void*)(C))){
  3370. /*[IF*/
  3371. if(X52is_user_expanded(/*SSWARF2*//*X334current_type*/(/*RF2*/(((T368*)_rf))->_current_type/*8*/))){
  3372. }
  3373. else{
  3374. _args=X152arguments(_pc);
  3375. /*[IF*/
  3376. if((_args)==((void*)(NULL))){
  3377. R=((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL));
  3378. }
  3379. else{
  3380. R=X139isa_dca_inline(_args,(T0*)C,_rf);
  3381. }
  3382. /*FI]*/
  3383. }
  3384. /*FI]*/
  3385. }
  3386. /*FI]*/
  3387. }
  3388. /*FI]*/
  3389. return R;
  3390. }
  3391.  
  3392.  
  3393. void r368default_mapping_function(T368* C){
  3394. T6 _tcbd=0;
  3395. T6 _uc=0;
  3396. T6 _no_check=0;
  3397. _no_check=r47no_check((T47*)(oBC13run_control));
  3398. _uc=r368use_current(C);
  3399. /*[IF*/
  3400. if(!(_uc)){
  3401. _tcbd=r325target_cannot_be_dropped((T325*)(oBC13cpp));
  3402. /*[IF*/
  3403. if(_tcbd){
  3404. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3405. T3 b1=((T3)'\54');
  3406. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3407. }/*]*/
  3408. /*]*/
  3409. }
  3410. /*FI]*/
  3411. }
  3412. /*FI]*/
  3413. r368mapping_name(C);
  3414. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3415. T3 b1=((T3)'\50');
  3416. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3417. }/*]*/
  3418. /*]*/
  3419. /*[IF*/
  3420. if(_no_check){
  3421. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_759));
  3422. /*]*/
  3423. }
  3424. /*FI]*/
  3425. /*[IF*/
  3426. if(_uc){
  3427. /*[IF*/
  3428. if(_no_check){
  3429. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3430. T3 b1=((T3)'\54');
  3431. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3432. }/*]*/
  3433. /*]*/
  3434. }
  3435. /*FI]*/
  3436. r325put_target_as_target((T325*)(oBC13cpp));
  3437. }
  3438. /*FI]*/
  3439. /*[IF*/
  3440. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  3441. /*[IF*/
  3442. if((_uc)||(_no_check)){
  3443. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3444. T3 b1=((T3)'\54');
  3445. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3446. }/*]*/
  3447. /*]*/
  3448. }
  3449. /*FI]*/
  3450. r325put_arguments((T325*)(oBC13cpp));
  3451. }
  3452. /*FI]*/
  3453. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3454. T3 b1=((T3)'\51');
  3455. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3456. }/*]*/
  3457. /*]*/
  3458. /*[IF*/
  3459. if((!(_uc))&&(_tcbd)){
  3460. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3461. T3 b1=((T3)'\51');
  3462. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3463. }/*]*/
  3464. /*]*/
  3465. }
  3466. /*FI]*/
  3467. }
  3468.  
  3469.  
  3470. void r368c_assertion_flag(T368* C){
  3471. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  3472. /*]*/
  3473. r368c_frame_descriptor_name_in(C,oBC334c_code);
  3474. r7append((T7*)(oBC334c_code),((T0*)ms334_30285));
  3475. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  3476. /*]*/
  3477. }
  3478.  
  3479.  
  3480. void r368c_define_opening(T368* C){
  3481. T0* _oresult=NULL;
  3482. T6 _ensure_check=0;
  3483. T6 _no_check=0;
  3484. T0* _t=NULL;
  3485. _no_check=r47no_check((T47*)(oBC13run_control));
  3486. _ensure_check=r47ensure_check((T47*)(oBC13run_control));
  3487. /*[IF*/
  3488. if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
  3489. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_21346));
  3490. /*]*/
  3491. }
  3492. /*FI]*/
  3493. /*[IF*/
  3494. /*AF*//*AF*//*AE*/
  3495. /*FI]*/
  3496. /*[IF*/
  3497. if(((/*RF2*/(C)->_local_vars/*36*/))!=((void*)(NULL))){
  3498. r169c_declare((T169*)((/*RF2*/(C)->_local_vars/*36*/)));
  3499. }
  3500. /*FI]*/
  3501. /*[IF*/
  3502. if(_ensure_check){
  3503. /*[IF*/
  3504. if(((/*RF2*/(C)->_ensure_assertion/*48*/))!=((void*)(NULL))){
  3505. r214c_declare_for_old((T214*)((/*RF2*/(C)->_ensure_assertion/*48*/)));
  3506. }
  3507. /*FI]*/
  3508. }
  3509. /*FI]*/
  3510. /*[IF*/
  3511. if(_no_check){
  3512. /*[IF*/
  3513. if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
  3514. r7copy((T7*)(oBC334c_code),((T0*)ms334_21567));
  3515. /*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
  3516. /*]*/
  3517. r7extend((T7*)(oBC334c_code),((T3)'\135'));
  3518. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  3519. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  3520. /*]*/
  3521. }
  3522. /*FI]*/
  3523. r368c_initialize_ds_one_by_one(C);
  3524. /*[IRF3.2c_initialize_locals_one_by_one*/{T3 _c=0;
  3525. T2 _j=0;
  3526. T2 _i=0;
  3527. _j=1;
  3528. while (!(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))==(_i)))
  3529. {
  3530. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_8120));
  3531. /*]*/
  3532. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),_i);
  3533. /*]*/
  3534. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_308));
  3535. /*]*/
  3536. _c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
  3537. while (!((_c)==(((T3)'\54'))))
  3538. {
  3539. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3540. T3 b1=_c;
  3541. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3542. }/*]*/
  3543. /*]*/
  3544. _j=(_j)+(1);
  3545. _c=/*(IRF4.6item*/((/*RF2*/((T7*)(oBC13c_frame_descriptor_locals))->_storage/*0*/))[(_j)-(1)]/*)*/;
  3546. }
  3547. _j=(_j)+(1);
  3548. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  3549. /*]*/
  3550. _i=(_i)+(1);
  3551. }
  3552. }/*]*/
  3553. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_14520a));
  3554. /*]*/
  3555. }
  3556. /*FI]*/
  3557. /*[IF*/
  3558. if(_ensure_check){
  3559. /*[IF*/
  3560. if(((/*RF2*/(C)->_ensure_assertion/*48*/))!=((void*)(NULL))){
  3561. r214compile_to_c_old((T214*)((/*RF2*/(C)->_ensure_assertion/*48*/)));
  3562. }
  3563. /*FI]*/
  3564. }
  3565. /*FI]*/
  3566. /*[IF*/
  3567. if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
  3568. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_23008));
  3569. /*]*/
  3570. r215compile_to_c((T215*)((/*RF2*/(C)->_rescue_compound/*44*/)));
  3571. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_47752));
  3572. /*]*/
  3573. }
  3574. /*FI]*/
  3575. /*[IF*/
  3576. if(((/*RF2*/(C)->_local_vars/*36*/))!=((void*)(NULL))){
  3577. r169initialize_expanded((T169*)((/*RF2*/(C)->_local_vars/*36*/)));
  3578. }
  3579. /*FI]*/
  3580. /*[IF*/
  3581. if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
  3582. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_7436));
  3583. /*]*/
  3584. }
  3585. /*FI]*/
  3586. /*[IF*/
  3587. if(((/*RF2*/(C)->_require_assertion/*32*/))!=((void*)(NULL))){
  3588. r376compile_to_c((T376*)((/*RF2*/(C)->_require_assertion/*32*/)));
  3589. }
  3590. /*FI]*/
  3591. /*[IF*/
  3592. if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
  3593. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_57680));
  3594. /*]*/
  3595. /*[IF*/
  3596. if(_no_check){
  3597. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11988));
  3598. /*]*/
  3599. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_14520));
  3600. /*]*/
  3601. }
  3602. /*FI]*/
  3603. }
  3604. /*FI]*/
  3605. }
  3606.  
  3607.  
  3608. void r368c_define_closing(T368* C){
  3609. /*[IF*/
  3610. if(r47ensure_check((T47*)(oBC13run_control))){
  3611. /*[IF*/
  3612. if(((/*RF2*/(C)->_ensure_assertion/*48*/))!=((void*)(NULL))){
  3613. r214compile_to_c((T214*)((/*RF2*/(C)->_ensure_assertion/*48*/)));
  3614. }
  3615. /*FI]*/
  3616. }
  3617. /*FI]*/
  3618. /*[IF*/
  3619. if(r368use_current(C)){
  3620. /*[IF*/
  3621. if((X82to_string((/*RF2*/(C)->_name/*12*/)))!=((void*)(((T0*)ms15_8750)))){
  3622. r325current_class_invariant((/*RF2*/(C)->_current_type/*8*/));
  3623. }
  3624. /*FI]*/
  3625. }
  3626. /*FI]*/
  3627. /*[IF*/
  3628. if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
  3629. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_25380));
  3630. /*]*/
  3631. }
  3632. /*FI]*/
  3633. /*[IF*/
  3634. if(r47no_check((T47*)(oBC13run_control))){
  3635. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_19400));
  3636. /*]*/
  3637. }
  3638. /*FI]*/
  3639. }
  3640.  
  3641.  
  3642. T0* r368memory_dispose(T368* C){
  3643. T0* R=NULL;
  3644. /*[IF*/
  3645. if(!(r368is_empty_or_null_body(C))){
  3646. R=((T0*)(C));
  3647. (/*SFN*/C->_in_line_status)=-(1);
  3648. }
  3649. /*FI]*/
  3650. return R;
  3651. }
  3652.  
  3653.  
  3654. void r368initialize(T368* C){
  3655. (/*SFN*/C->_arguments)=(/*RF2*/((T303*)((/*RF2*/(C)->_base_feature/*24*/)))->_arguments/*20*/);
  3656. /*[IF*/
  3657. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  3658. /*[IF*/
  3659. if(!(r178is_runnable((T178*)((/*RF2*/(C)->_arguments/*28*/)),(/*RF2*/(C)->_current_type/*8*/)))){
  3660. {T178*n=((T178*)malloc(sizeof(*n))/*12*/);
  3661. *n=M178;
  3662. r178with(n,(/*RF2*/(C)->_arguments/*28*/),(/*RF2*/(C)->_current_type/*8*/));
  3663. (/*SFN*/C->_arguments)=((T0*)n);
  3664. }
  3665. }
  3666. /*FI]*/
  3667. }
  3668. /*FI]*/
  3669. (/*SFN*/C->_local_vars)=(/*RF2*/((T303*)((/*RF2*/(C)->_base_feature/*24*/)))->_local_vars/*40*/);
  3670. /*[IF*/
  3671. if(((/*RF2*/(C)->_local_vars/*36*/))!=((void*)(NULL))){
  3672. (/*SFN*/C->_local_vars)=r169to_runnable((T169*)((/*RF2*/(C)->_local_vars/*36*/)),(/*RF2*/(C)->_current_type/*8*/));
  3673. }
  3674. /*FI]*/
  3675. (/*SFN*/C->_routine_body)=(/*RF2*/((T303*)((/*RF2*/(C)->_base_feature/*24*/)))->_routine_body/*44*/);
  3676. /*[IF*/
  3677. if(((/*RF2*/(C)->_routine_body/*40*/))!=((void*)(NULL))){
  3678. (/*SFN*/C->_routine_body)=r215to_runnable((T215*)((/*RF2*/(C)->_routine_body/*40*/)),(/*RF2*/(C)->_current_type/*8*/));
  3679. }
  3680. /*FI]*/
  3681. /*[IF*/
  3682. if(r47require_check((T47*)(oBC13run_control))){
  3683. (/*SFN*/C->_require_assertion)=r368run_require(C);
  3684. }
  3685. /*FI]*/
  3686. /*[IF*/
  3687. if(r47ensure_check((T47*)(oBC13run_control))){
  3688. (/*SFN*/C->_ensure_assertion)=r368run_ensure(C);
  3689. }
  3690. /*FI]*/
  3691. (/*SFN*/C->_rescue_compound)=(/*RF2*/((T303*)((/*RF2*/(C)->_base_feature/*24*/)))->_rescue_compound/*48*/);
  3692. /*[IF*/
  3693. if(((/*RF2*/(C)->_rescue_compound/*44*/))==((void*)(NULL))){
  3694. (/*SFN*/C->_rescue_compound)=r368default_rescue_compound(C);
  3695. }
  3696. /*FI]*/
  3697. /*[IF*/
  3698. if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
  3699. /*[IRF3.3set_used*/((((T380*)((T380*)(oBC13exceptions_handler))))->_used)=(1);
  3700. /*]*/
  3701. (/*SFN*/C->_rescue_compound)=r215to_runnable((T215*)((/*RF2*/(C)->_rescue_compound/*44*/)),(/*RF2*/(C)->_current_type/*8*/));
  3702. }
  3703. /*FI]*/
  3704. }
  3705.  
  3706.  
  3707. void r368address_of_c_define_wrapper(T368* C,T0* a1){
  3708. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  3709. /*]*/
  3710. /*[IF*/
  3711. {/*AT*/r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  3712. }
  3713. /*FI]*/
  3714. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  3715. r368address_of_wrapper_name_in(C,oBC334c_code);
  3716. r7extend((T7*)(oBC334c_code),((T3)'\50'));
  3717. X52c_type_for_external_in((/*RF2*/(C)->_current_type/*8*/),oBC334c_code);
  3718. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  3719. r7extend((T7*)(oBC334c_code),((T3)'C'));
  3720. /*[IF*/
  3721. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  3722. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  3723. r178external_prototype_in((T178*)((/*RF2*/(C)->_arguments/*28*/)),oBC334c_code);
  3724. }
  3725. /*FI]*/
  3726. r7extend((T7*)(oBC334c_code),((T3)'\51'));
  3727. r325put_c_heading((T325*)(oBC13cpp),oBC334c_code);
  3728. r338define_body_of((T0*)C);
  3729. }
  3730.  
  3731.  
  3732. void r368in_line(T368* C){
  3733. T0* _rf2=NULL;
  3734. T0* _sfn=NULL;
  3735. T0* _rf=NULL;
  3736. T0* _pc=NULL;
  3737. T0* _e=NULL;
  3738. T0* _a=NULL;
  3739. T6 _flag=0;
  3740. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms368_5624));
  3741. /*]*/
  3742. /*[IRF3.5put_integer*/r48put_integer(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),(/*RF2*/(C)->_in_line_status/*52*/));
  3743. /*]*/
  3744. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string((/*RF2*/(C)->_name/*12*/)));
  3745. /*]*/
  3746. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_178));
  3747. /*]*/
  3748. {int z1=(/*RF2*/(C)->_in_line_status/*52*/);
  3749.  
  3750. if((1==z1)){
  3751. /*[IF*/
  3752. if(r325cannot_drop_all((T325*)(oBC13cpp))){
  3753. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_330));
  3754. /*]*/
  3755. }
  3756. /*FI]*/
  3757. /*[IF*/
  3758. if(r368need_local_vars(C)){
  3759. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3760. T3 b1=((T3)'\173');
  3761. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3762. }/*]*/
  3763. /*]*/
  3764. r368c_define_opening(C);
  3765. r368c_define_closing(C);
  3766. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3767. T3 b1=((T3)'\175');
  3768. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3769. }/*]*/
  3770. /*]*/
  3771. }
  3772. /*FI]*/
  3773. }
  3774.  else 
  3775. if((2==z1)){
  3776. /*[IF*/
  3777. if(r325target_cannot_be_dropped((T325*)(oBC13cpp))){
  3778. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_330));
  3779. /*]*/
  3780. }
  3781. /*FI]*/
  3782. _flag=r368need_local_vars(C);
  3783. /*[IF*/
  3784. if(_flag){
  3785. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3786. T3 b1=((T3)'\173');
  3787. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3788. }/*]*/
  3789. /*]*/
  3790. r368c_define_opening(C);
  3791. }
  3792. /*FI]*/
  3793. r215compile_to_c((T215*)((/*RF2*/(C)->_routine_body/*40*/)));
  3794. /*[IF*/
  3795. if(_flag){
  3796. r368c_define_closing(C);
  3797. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3798. T3 b1=((T3)'\175');
  3799. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3800. }/*]*/
  3801. /*]*/
  3802. }
  3803. /*FI]*/
  3804. }
  3805.  else 
  3806. if((3==z1)){
  3807. _flag=r368need_local_vars(C);
  3808. /*[IF*/
  3809. if(_flag){
  3810. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3811. T3 b1=((T3)'\173');
  3812. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3813. }/*]*/
  3814. /*]*/
  3815. r368c_define_opening(C);
  3816. }
  3817. /*FI]*/
  3818. _a=/*(IRF4.3first*/(/*RF2*/((T215*)((/*RF2*/(C)->_routine_body/*40*/)))->_first_one/*8*/)/*)*/;
  3819. if(NULL!=(_a)){
  3820. switch(((T0*)_a)->id){
  3821. case 282:
  3822. break;
  3823. default:
  3824. _a=NULL;
  3825. }
  3826. }_sfn=(/*RF2*/(((T282*)_a))->_left_side/*4*/);
  3827. if(NULL!=(_sfn)){
  3828. switch(((T0*)_sfn)->id){
  3829. case 138:
  3830. break;
  3831. default:
  3832. _sfn=NULL;
  3833. }
  3834. }/*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms368_360));
  3835. /*]*/
  3836. X52mapping_cast((/*RF2*/(C)->_current_type/*8*/));
  3837. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3838. T3 b1=((T3)'\50');
  3839. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3840. }/*]*/
  3841. /*]*/
  3842. r325put_target_as_target((T325*)(oBC13cpp));
  3843. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms368_4800));
  3844. /*]*/
  3845. _rf2=(/*RF2*/(((T138*)_sfn))->_run_feature_2/*16*/);
  3846. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),X82to_string(/*SSWARF2*//*X334name*/(/*RF2*/(((T368*)_rf2))->_name/*12*/)));
  3847. /*]*/
  3848. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms368_426));
  3849. /*]*/
  3850. _e=(/*RF2*/(((T282*)_a))->_right_side/*8*/);
  3851. /*[IF*/
  3852. if(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL))){
  3853. X104compile_to_c(_e);
  3854. }
  3855. else{
  3856. r325put_arguments((T325*)(oBC13cpp));
  3857. }
  3858. /*FI]*/
  3859. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms368_330));
  3860. /*]*/
  3861. /*[IF*/
  3862. if(_flag){
  3863. r368c_define_closing(C);
  3864. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3865. T3 b1=((T3)'\175');
  3866. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3867. }/*]*/
  3868. /*]*/
  3869. }
  3870. /*FI]*/
  3871. }
  3872.  else 
  3873. if((4==z1)){
  3874. _flag=r368need_local_vars(C);
  3875. /*[IF*/
  3876. if(_flag){
  3877. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3878. T3 b1=((T3)'\173');
  3879. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3880. }/*]*/
  3881. /*]*/
  3882. r368c_define_opening(C);
  3883. }
  3884. /*FI]*/
  3885. _pc=/*(IRF4.3first*/(/*RF2*/((T215*)((/*RF2*/(C)->_routine_body/*40*/)))->_first_one/*8*/)/*)*/;
  3886. if(NULL!=(_pc)){
  3887. switch(((T0*)_pc)->id){
  3888. case 155:case 153:case 154:
  3889. break;
  3890. default:
  3891. _pc=NULL;
  3892. }
  3893. }_rf=/*SSWARF2*//*X152run_feature*/(/*RF2*/(((T155*)_pc))->_run_feature/*12*/);
  3894. r325push_same_target((T325*)(oBC13cpp),_rf,X152arguments(_pc));
  3895. X334mapping_c(_rf);
  3896. r325pop((T325*)(oBC13cpp));
  3897. /*[IF*/
  3898. if(_flag){
  3899. r368c_define_closing(C);
  3900. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3901. T3 b1=((T3)'\175');
  3902. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3903. }/*]*/
  3904. /*]*/
  3905. }
  3906. /*FI]*/
  3907. }
  3908.  else 
  3909. if((5==z1)){
  3910. _pc=/*(IRF4.3first*/(/*RF2*/((T215*)((/*RF2*/(C)->_routine_body/*40*/)))->_first_one/*8*/)/*)*/;
  3911. if(NULL!=(_pc)){
  3912. switch(((T0*)_pc)->id){
  3913. case 155:case 153:case 154:
  3914. break;
  3915. default:
  3916. _pc=NULL;
  3917. }
  3918. }/*SSPRF3*//*X152finalize*/r155finalize(((T155*)_pc));
  3919. r325push_inline_dca((T325*)(oBC13cpp),(T0*)C,_pc);
  3920. X334mapping_c(/*SSWARF2*//*X152run_feature*/(/*RF2*/(((T155*)_pc))->_run_feature/*12*/));
  3921. r325pop((T325*)(oBC13cpp));
  3922. }
  3923.  else {/*[IF*/
  3924. if(!(r368use_current(C))){
  3925. /*[IF*/
  3926. if(r325target_cannot_be_dropped((T325*)(oBC13cpp))){
  3927. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_330));
  3928. /*]*/
  3929. }
  3930. /*FI]*/
  3931. }
  3932. /*FI]*/
  3933. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3934. T3 b1=((T3)'\173');
  3935. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3936. }/*]*/
  3937. /*]*/
  3938. /*[IF*/
  3939. if(r368use_current(C)){
  3940. /*[IRF3.3clear*/((((T7*)((T7*)(oBC368tmp_string))))->_count)=(0);
  3941. /*]*/
  3942. X52c_type_for_target_in((/*RF2*/(C)->_current_type/*8*/),oBC368tmp_string);
  3943. r7extend((T7*)(oBC368tmp_string),((T3)'\40'));
  3944. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC368tmp_string);
  3945. /*]*/
  3946. r325inline_level_incr((T325*)(oBC13cpp));
  3947. r325print_current((T325*)(oBC13cpp));
  3948. r325inline_level_decr((T325*)(oBC13cpp));
  3949. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3950. T3 b1=((T3)'\75');
  3951. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3952. }/*]*/
  3953. /*]*/
  3954. r325put_target_as_target((T325*)(oBC13cpp));
  3955. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms14_138));
  3956. /*]*/
  3957. }
  3958. /*FI]*/
  3959. /*[IF*/
  3960. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  3961. r178inline_one_pc((T178*)((/*RF2*/(C)->_arguments/*28*/)));
  3962. }
  3963. /*FI]*/
  3964. /*[IF*/
  3965. if(r368need_local_vars(C)){
  3966. r169inline_one_pc((T169*)((/*RF2*/(C)->_local_vars/*36*/)));
  3967. r325inline_level_incr((T325*)(oBC13cpp));
  3968. r169initialize_expanded((T169*)((/*RF2*/(C)->_local_vars/*36*/)));
  3969. r325inline_level_decr((T325*)(oBC13cpp));
  3970. }
  3971. /*FI]*/
  3972. /*[IRF3.4push_inline_one_pc*/r325stack_push((T325*)(oBC13cpp),18);
  3973. /*]*/
  3974. r325inline_level_incr((T325*)(oBC13cpp));
  3975. r215compile_to_c((T215*)((/*RF2*/(C)->_routine_body/*40*/)));
  3976. r325inline_level_decr((T325*)(oBC13cpp));
  3977. r325pop((T325*)(oBC13cpp));
  3978. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  3979. T3 b1=((T3)'\175');
  3980. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  3981. }/*]*/
  3982. /*]*/
  3983. }}
  3984. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms368_1986));
  3985. /*]*/
  3986. }
  3987.  
  3988.  
  3989. void r368mapping_c(T368* C){
  3990. /*[IF*/
  3991. if(r368isa_in_line(C)){
  3992. /*[IF*/
  3993. if(/*(IRF4.6stack_not_full*/((/*RF2*/((T325*)(oBC13cpp))->_top/*32*/))<(50)/*)*/){
  3994. r368in_line(C);
  3995. }
  3996. else{
  3997. (/*SFN*/C->_in_line_status)=-(1);
  3998. /*[IRF3.6register_for_c_define*/{T0* b1=(T0*)C;
  3999. r372add_last((T372*)(oBC49registered_for_c_define),b1);
  4000. }/*]*/
  4001. r368mapping_c(C);
  4002. }
  4003. /*FI]*/
  4004. }
  4005. else{
  4006. r368default_mapping_procedure(C);
  4007. }
  4008. /*FI]*/
  4009. }
  4010.  
  4011.  
  4012. void r368std_compute_stupid_switch(T368* C,T0* a1){
  4013. T0* _rt=NULL;
  4014. _rt=/*(IRF4.1result_type*/NULL/*)*/;
  4015. /*[IF*/
  4016. if(((_rt)!=((void*)(NULL)))&&(X52is_user_expanded(_rt))){
  4017. (/*SFN*/C->_stupid_switch_state)=21;
  4018. }
  4019. /*FI]*/
  4020. /*[IF*/
  4021. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
  4022. /*[IF*/
  4023. if(((/*RF2*/(C)->_routine_body/*40*/))!=((void*)(NULL))){
  4024. /*[IF*/
  4025. if(!(r215stupid_switch((T215*)((/*RF2*/(C)->_routine_body/*40*/)),a1))){
  4026. (/*SFN*/C->_stupid_switch_state)=21;
  4027. }
  4028. /*FI]*/
  4029. }
  4030. /*FI]*/
  4031. }
  4032. /*FI]*/
  4033. /*[IF*/
  4034. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
  4035. /*[IF*/
  4036. if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
  4037. /*[IF*/
  4038. if(!(r215stupid_switch((T215*)((/*RF2*/(C)->_rescue_compound/*44*/)),a1))){
  4039. (/*SFN*/C->_stupid_switch_state)=21;
  4040. }
  4041. /*FI]*/
  4042. }
  4043. /*FI]*/
  4044. }
  4045. /*FI]*/
  4046. /*[IF*/
  4047. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(24)){
  4048. (/*SFN*/C->_stupid_switch_state)=22;
  4049. }
  4050. /*FI]*/
  4051. }
  4052.  
  4053.  
  4054. void r368routine_afd_check(T368* C){
  4055. /*[IF*/
  4056. if(((/*RF2*/(C)->_require_assertion/*32*/))!=((void*)(NULL))){
  4057. r376afd_check((T376*)((/*RF2*/(C)->_require_assertion/*32*/)));
  4058. }
  4059. /*FI]*/
  4060. /*[IF*/
  4061. if(((/*RF2*/(C)->_routine_body/*40*/))!=((void*)(NULL))){
  4062. r215afd_check((T215*)((/*RF2*/(C)->_routine_body/*40*/)));
  4063. }
  4064. /*FI]*/
  4065. /*[IF*/
  4066. if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
  4067. r215afd_check((T215*)((/*RF2*/(C)->_rescue_compound/*44*/)));
  4068. }
  4069. /*FI]*/
  4070. /*[IF*/
  4071. if(((/*RF2*/(C)->_ensure_assertion/*48*/))!=((void*)(NULL))){
  4072. r214afd_check((T214*)((/*RF2*/(C)->_ensure_assertion/*48*/)));
  4073. }
  4074. /*FI]*/
  4075. }
  4076.  
  4077.  
  4078. T0* r368body_one_dpca(T368* C){
  4079. T0* R=NULL;
  4080. T0* _r=NULL;
  4081. T0* _rf2=NULL;
  4082. T0* _c0c=NULL;
  4083. T0* _pc=NULL;
  4084. T0* _rb=NULL;
  4085. /*[IF*/
  4086. if(((/*RF2*/(C)->_local_vars/*36*/))==((void*)(NULL))){
  4087. _rb=(/*RF2*/(C)->_routine_body/*40*/);
  4088. /*[IF*/
  4089. if(((_rb)!=((void*)(NULL)))&&((r215count(((T215*)_rb)))==(1))){
  4090. _pc=/*(IRF4.3first*/(/*RF2*/(((T215*)_rb))->_first_one/*8*/)/*)*/;
  4091. if(NULL!=(_pc)){
  4092. switch(((T0*)_pc)->id){
  4093. case 155:case 153:case 154:
  4094. break;
  4095. default:
  4096. _pc=NULL;
  4097. }
  4098. }/*[IF*/
  4099. if((_pc)!=((void*)(NULL))){
  4100. _c0c=/*SSWARF2*//*X152target*/(/*RF2*/(((T155*)_pc))->_target/*4*/);
  4101. if(NULL!=(_c0c)){
  4102. switch(((T0*)_c0c)->id){
  4103. case 140:
  4104. break;
  4105. default:
  4106. _c0c=NULL;
  4107. }
  4108. }/*[IF*/
  4109. if(((_c0c)!=((void*)(NULL)))&&(X104is_current((/*RF2*/(((T140*)_c0c))->_target/*4*/)))){
  4110. _rf2=(/*RF2*/(((T140*)_c0c))->_run_feature/*12*/);
  4111. if(NULL!=(_rf2)){
  4112. switch(((T0*)_rf2)->id){
  4113. case 345:
  4114. break;
  4115. default:
  4116. _rf2=NULL;
  4117. }
  4118. }/*[IF*/
  4119. if((_rf2)!=((void*)(NULL))){
  4120. _r=(/*RF2*/((T50*)(r345run_class(((T345*)_rf2))))->_running/*9*/);
  4121. /*[IF*/
  4122. if(((_r)!=((void*)(NULL)))&&((r53count(((T53*)_r)))==(1))){
  4123. _r=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class((T368*)(/*SSWARF2*//*X152run_feature*/(/*RF2*/(((T155*)_pc))->_run_feature/*12*/)))))->_running/*9*/);
  4124. /*[IF*/
  4125. if(((_r)!=((void*)(NULL)))&&((r53count(((T53*)_r)))==(1))){
  4126. R=_pc;
  4127. }
  4128. /*FI]*/
  4129. }
  4130. /*FI]*/
  4131. }
  4132. /*FI]*/
  4133. }
  4134. /*FI]*/
  4135. }
  4136. /*FI]*/
  4137. }
  4138. /*FI]*/
  4139. }
  4140. /*FI]*/
  4141. return R;
  4142. }
  4143. T0*oBC13c_frame_descriptor_local_count=NULL;
  4144.  
  4145.  
  4146. T6 r368one_pc(T368* C){
  4147. T6 R=0;
  4148. T0* _r=NULL;
  4149. T0* _rf=NULL;
  4150. T0* _pc=NULL;
  4151. T0* _rb=NULL;
  4152. _rb=(/*RF2*/(C)->_routine_body/*40*/);
  4153. /*[IF*/
  4154. if(((_rb)!=((void*)(NULL)))&&((r215count(((T215*)_rb)))==(1))){
  4155. _pc=/*(IRF4.3first*/(/*RF2*/(((T215*)_rb))->_first_one/*8*/)/*)*/;
  4156. if(NULL!=(_pc)){
  4157. switch(((T0*)_pc)->id){
  4158. case 155:case 153:case 154:
  4159. break;
  4160. default:
  4161. _pc=NULL;
  4162. }
  4163. }/*[IF*/
  4164. if((_pc)!=((void*)(NULL))){
  4165. _rf=/*SSWARF2*//*X152run_feature*/(/*RF2*/(((T155*)_pc))->_run_feature/*12*/);
  4166. /*[IF*/
  4167. if(((_rf)!=((void*)(NULL)))&&((_rf)!=((void*)(C)))){
  4168. _r=(/*RF2*/((T50*)(/*SSFRF4*//*X334run_class*/r368run_class(((T368*)_rf))))->_running/*9*/);
  4169. /*[IF*/
  4170. if(((_r)!=((void*)(NULL)))&&((r53count(((T53*)_r)))==(1))){
  4171. R=1;
  4172. }
  4173. /*FI]*/
  4174. }
  4175. /*FI]*/
  4176. }
  4177. /*FI]*/
  4178. }
  4179. /*FI]*/
  4180. return R;
  4181. }
  4182.  
  4183.  
  4184. T6 r368do_not_use_current(T368* C){
  4185. T6 R=0;
  4186. /*[IF*/
  4187. if(!(r215use_current((T215*)((/*RF2*/(C)->_routine_body/*40*/))))){
  4188. R=((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL));
  4189. }
  4190. /*FI]*/
  4191. return R;
  4192. }
  4193.  
  4194.  
  4195. T0* r368run_require(T368* C){
  4196. T0* R=NULL;
  4197. R=r51run_require((T51*)(X52base_class((/*RF2*/(C)->_current_type/*8*/))),(T0*)C);
  4198. return R;
  4199. }
  4200.  
  4201.  
  4202. void r368mapping_name(T368* C){
  4203. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  4204. /*]*/
  4205. r7extend((T7*)(oBC334c_code),((T3)'r'));
  4206. r2append_in(r368id(C),oBC334c_code);
  4207. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
  4208. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  4209. /*]*/
  4210. }
  4211.  
  4212.  
  4213. void r368c_initialize_ds_one_by_one(T368* C){
  4214. r7copy((T7*)(oBC334c_code),((T0*)ms334_36950));
  4215. r368c_frame_descriptor_name_in(C,oBC334c_code);
  4216. r7append((T7*)(oBC334c_code),((T0*)ms14_138));
  4217. /*[IF*/
  4218. if(r368use_current(C)){
  4219. r7append((T7*)(oBC334c_code),((T0*)ms334_18175));
  4220. }
  4221. else{
  4222. r7append((T7*)(oBC334c_code),((T0*)ms334_10999));
  4223. }
  4224. /*FI]*/
  4225. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  4226. /*]*/
  4227. {T68 se_tmp0;
  4228. r325put_position_in_ds(/*(IRF4.6start_position*/(*(se_tmp0=r303start_position(((T303*)((/*RF2*/(C)->_base_feature/*24*/)))),&se_tmp0))/*)*/);
  4229. }
  4230. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11466));
  4231. /*]*/
  4232. /*[IF*/
  4233. if(((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))>(0)){
  4234. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),((T0*)ms334_11880));
  4235. /*]*/
  4236. }
  4237. /*FI]*/
  4238. }
  4239.  
  4240.  
  4241. T6 r368isa_in_line(T368* C){
  4242. T6 R=0;
  4243. /*[IF*/
  4244. if(r47boost((T47*)(oBC13run_control))){
  4245. /*[IF*/
  4246. if(/*(IRF4.7in_line_status_not_computed*/((/*RF2*/(C)->_in_line_status/*52*/))==(0)/*)*/){
  4247. /*[IF*/
  4248. if(((/*RF2*/(C)->_rescue_compound/*44*/))!=((void*)(NULL))){
  4249. (/*SFN*/C->_in_line_status)=-(1);
  4250. }
  4251.  else if((((T0*)ms15_1772))==((void*)(X82to_string((/*RF2*/(C)->_name/*12*/))))){
  4252. (/*SFN*/C->_in_line_status)=-(1);
  4253. }
  4254.  else if(r368empty_or_null_body(C)){
  4255. (/*SFN*/C->_in_line_status)=1;
  4256. }
  4257.  else if(r368do_not_use_current(C)){
  4258. (/*SFN*/C->_in_line_status)=2;
  4259. }
  4260.  else if(r368attribute_writer(C)){
  4261. (/*SFN*/C->_in_line_status)=3;
  4262. }
  4263.  else if(r368direct_call(C)){
  4264. (/*SFN*/C->_in_line_status)=4;
  4265. }
  4266.  else if(r368dca(C)){
  4267. (/*SFN*/C->_in_line_status)=5;
  4268. }
  4269.  else if(r368one_pc(C)){
  4270. (/*SFN*/C->_in_line_status)=6;
  4271. }
  4272. else{
  4273. (/*SFN*/C->_in_line_status)=-(1);
  4274. }
  4275. /*FI]*/
  4276. }
  4277. /*FI]*/
  4278. R=((/*RF2*/(C)->_in_line_status/*52*/))>(0);
  4279. }
  4280. /*FI]*/
  4281. return R;
  4282. }
  4283.  
  4284.  
  4285. T6 r368use_current(T368* C){
  4286. T6 R=0;
  4287. {int z1=(/*RF2*/(C)->_use_current_state/*16*/);
  4288.  
  4289. if((22==z1)){
  4290. R=1;
  4291. }
  4292.  else 
  4293. if((21==z1)){
  4294. }
  4295.  else 
  4296. if((23==z1)){
  4297. (/*SFN*/C->_use_current_state)=24;
  4298. r368compute_use_current(C);
  4299. R=((/*RF2*/(C)->_use_current_state/*16*/))==(22);
  4300. }
  4301.  else {R=1;
  4302. }}
  4303. return R;
  4304. }
  4305.  
  4306.  
  4307. T6 r368is_empty_or_null_body(T368* C){
  4308. T6 R=0;
  4309. /*[IF*/
  4310. if(r368isa_in_line(C)){
  4311. R=((/*RF2*/(C)->_in_line_status/*52*/))==(1);
  4312. }
  4313. /*FI]*/
  4314. return R;
  4315. }
  4316.  
  4317.  
  4318. T6 r368is_exported_in(T368* C,T0* a1){
  4319. T6 R=0;
  4320. R=r99gives_permission_to((T99*)(r368clients(C)),a1);
  4321. return R;
  4322. }
  4323.  
  4324.  
  4325. T0* r368default_rescue_compound(T368* C){
  4326. T0* R=NULL;
  4327. R=r50get_default_rescue((T50*)(r368run_class(C)),(/*RF2*/(C)->_name/*12*/));
  4328. return R;
  4329. }
  4330.  
  4331.  
  4332. T0* r368run_class(T368* C){
  4333. T0* R=NULL;
  4334. R=X52run_class((/*RF2*/(C)->_current_type/*8*/));
  4335. return R;
  4336. }
  4337.  
  4338.  
  4339. void r368fatal_error(T0* a1){
  4340. /*[IRF3.6append*/{T0* b1=a1;
  4341. r7append((T7*)(oBC66explanation),b1);
  4342. }/*]*/
  4343. r66print_as_fatal_error((T66*)(oBC13eh));
  4344. }
  4345.  
  4346.  
  4347. T6 r368attribute_writer(T368* C){
  4348. T6 R=0;
  4349. T0* _sfn=NULL;
  4350. T0* _an2=NULL;
  4351. T0* _args=NULL;
  4352. T0* _a=NULL;
  4353. T0* _rb=NULL;
  4354. _rb=(/*RF2*/(C)->_routine_body/*40*/);
  4355. _args=(/*RF2*/(C)->_arguments/*28*/);
  4356. /*[IF*/
  4357. if(((_rb)!=((void*)(NULL)))&&((r215count(((T215*)_rb)))==(1))){
  4358. _a=/*(IRF4.3first*/(/*RF2*/(((T215*)_rb))->_first_one/*8*/)/*)*/;
  4359. if(NULL!=(_a)){
  4360. switch(((T0*)_a)->id){
  4361. case 282:
  4362. break;
  4363. default:
  4364. _a=NULL;
  4365. }
  4366. }/*[IF*/
  4367. if((_a)!=((void*)(NULL))){
  4368. _sfn=(/*RF2*/(((T282*)_a))->_left_side/*4*/);
  4369. if(NULL!=(_sfn)){
  4370. switch(((T0*)_sfn)->id){
  4371. case 138:
  4372. break;
  4373. default:
  4374. _sfn=NULL;
  4375. }
  4376. }/*[IF*/
  4377. if((_sfn)!=((void*)(NULL))){
  4378. /*[IF*/
  4379. if((_args)==((void*)(NULL))){
  4380. R=!(X104use_current((/*RF2*/(((T282*)_a))->_right_side/*8*/)));
  4381. }
  4382.  else if((/*(IRF4.6count*/(/*RF2*/(((T182*)((/*RF2*/(((T178*)_args))->_flat_list/*8*/))))->_upper/*12*/)/*)*/)==(1)){
  4383. _an2=(/*RF2*/(((T282*)_a))->_right_side/*8*/);
  4384. if(NULL!=(_an2)){
  4385. switch(((T0*)_an2)->id){
  4386. case 179:
  4387. break;
  4388. default:
  4389. _an2=NULL;
  4390. }
  4391. }R=(_an2)!=((void*)(NULL));
  4392. }
  4393. /*FI]*/
  4394. }
  4395. /*FI]*/
  4396. }
  4397. /*FI]*/
  4398. }
  4399. /*FI]*/
  4400. return R;
  4401. }
  4402.  
  4403.  
  4404. T0* r368stupid_switch(T368* C,T0* a1){
  4405. T0* R=NULL;
  4406. {int z1=(/*RF2*/(C)->_stupid_switch_state/*20*/);
  4407.  
  4408. if((22==z1)){
  4409. R=((T0*)ms368_4224);
  4410. }
  4411.  else 
  4412. if((21==z1)){
  4413. }
  4414.  else 
  4415. if((23==z1)){
  4416. (/*SFN*/C->_stupid_switch_state)=24;
  4417. /*[IRF3.6compute_stupid_switch*/{T368* C1=C;
  4418. T0* b1=a1;
  4419. r368std_compute_stupid_switch(C1,b1);
  4420. }/*]*/
  4421. /*[IF*/
  4422. if(((/*RF2*/(C)->_stupid_switch_state/*20*/))==(22)){
  4423. R=((T0*)ms368_4224);
  4424. }
  4425. /*FI]*/
  4426. }
  4427.  else {}}
  4428. return R;
  4429. }
  4430.  
  4431.  
  4432. T6 r368direct_call(T368* C){
  4433. T6 R=0;
  4434. T0* _rf3=NULL;
  4435. T0* _args=NULL;
  4436. T0* _pc=NULL;
  4437. T0* _rb=NULL;
  4438. _rb=(/*RF2*/(C)->_routine_body/*40*/);
  4439. /*[IF*/
  4440. if(((((_rb)!=((void*)(NULL)))&&((r215count(((T215*)_rb)))==(1)))&&(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL))))&&(((/*RF2*/(C)->_local_vars/*36*/))==((void*)(NULL)))){
  4441. _pc=/*(IRF4.3first*/(/*RF2*/(((T215*)_rb))->_first_one/*8*/)/*)*/;
  4442. if(NULL!=(_pc)){
  4443. switch(((T0*)_pc)->id){
  4444. case 155:case 153:case 154:
  4445. break;
  4446. default:
  4447. _pc=NULL;
  4448. }
  4449. }/*[IF*/
  4450. if((_pc)!=((void*)(NULL))){
  4451. /*[IF*/
  4452. if(X104is_current(/*SSWARF2*//*X152target*/(/*RF2*/(((T155*)_pc))->_target/*4*/))){
  4453. _rf3=/*SSWARF2*//*X152run_feature*/(/*RF2*/(((T155*)_pc))->_run_feature/*12*/);
  4454. if(NULL!=(_rf3)){
  4455. switch(((T0*)_rf3)->id){
  4456. case 368:
  4457. break;
  4458. default:
  4459. _rf3=NULL;
  4460. }
  4461. }/*[IF*/
  4462. if((_rf3)!=((void*)(NULL))){
  4463. _args=X152arguments(_pc);
  4464. /*[IF*/
  4465. if((_args)==((void*)(NULL))){
  4466. R=1;
  4467. }
  4468. else{
  4469. R=/*SSFRF4*//*X139is_static*/r139is_static(((T139*)_args));
  4470. }
  4471. /*FI]*/
  4472. }
  4473. /*FI]*/
  4474. }
  4475. /*FI]*/
  4476. }
  4477. /*FI]*/
  4478. }
  4479. /*FI]*/
  4480. return R;
  4481. }
  4482.  
  4483.  
  4484. void r368define_prototype(T368* C){
  4485. T6 _no_check=0;
  4486. T2 _mem_id=0;
  4487. _no_check=r47no_check((T47*)(oBC13run_control));
  4488. /*[IF*/
  4489. if(r47no_check((T47*)(oBC13run_control))){
  4490. /*[IRF3.3reset*/((((T203*)((T203*)(oBC13c_frame_descriptor_local_count))))->_value)=(0);
  4491. /*]*/
  4492. /*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_format))))->_count)=(0);
  4493. /*]*/
  4494. r7extend((T7*)(oBC13c_frame_descriptor_format),((T3)'\42'));
  4495. /*[IRF3.3clear*/((((T7*)((T7*)(oBC13c_frame_descriptor_locals))))->_count)=(0);
  4496. /*]*/
  4497. }
  4498. /*FI]*/
  4499. _mem_id=r368id(C);
  4500. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  4501. /*]*/
  4502. /*[IF*/
  4503. {/*AT*/r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  4504. }
  4505. /*FI]*/
  4506. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  4507. r7extend((T7*)(oBC334c_code),((T3)'r'));
  4508. r2append_in(_mem_id,oBC334c_code);
  4509. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),oBC334c_code);
  4510. r7extend((T7*)(oBC334c_code),((T3)'\50'));
  4511. /*[IF*/
  4512. if(_no_check){
  4513. r7append((T7*)(oBC334c_code),((T0*)ms334_56160));
  4514. /*[IF*/
  4515. if((r368use_current(C))||(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL)))){
  4516. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  4517. }
  4518. /*FI]*/
  4519. }
  4520. /*FI]*/
  4521. /*[IF*/
  4522. if(r368use_current(C)){
  4523. X52c_type_for_target_in((/*RF2*/(C)->_current_type/*8*/),oBC334c_code);
  4524. r7extend((T7*)(oBC334c_code),((T3)'\40'));
  4525. r7extend((T7*)(oBC334c_code),((T3)'C'));
  4526. X52c_frame_descriptor((/*RF2*/(C)->_current_type/*8*/));
  4527. /*[IF*/
  4528. if(((/*RF2*/(C)->_arguments/*28*/))!=((void*)(NULL))){
  4529. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  4530. }
  4531. /*FI]*/
  4532. }
  4533. /*FI]*/
  4534. /*[IF*/
  4535. if(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL))){
  4536. /*[IF*/
  4537. if(_no_check){
  4538. }
  4539.  else if(!(r368use_current(C))){
  4540. r7append((T7*)(oBC334c_code),((T0*)ms14_1736a));
  4541. }
  4542. /*FI]*/
  4543. }
  4544. else{
  4545. r178compile_to_c_in((T178*)((/*RF2*/(C)->_arguments/*28*/)),oBC334c_code);
  4546. }
  4547. /*FI]*/
  4548. r7extend((T7*)(oBC334c_code),((T3)'\51'));
  4549. r325put_c_heading((T325*)(oBC13cpp),oBC334c_code);
  4550. /*[IRF3.3swap_on_c*/((((T325*)((T325*)(oBC13cpp))))->_current_out)=(oBC325out_c);
  4551. /*]*/
  4552. }
  4553.  
  4554.  
  4555. void r368c_frame_descriptor(T368* C){
  4556. /*[IF*/
  4557. if(r47no_check((T47*)(oBC13run_control))){
  4558. r7copy((T7*)(oBC334c_code),((T0*)ms334_23340));
  4559. r368c_frame_descriptor_name_in(C,oBC334c_code);
  4560. r325put_extern7((T325*)(oBC13cpp),oBC334c_code);
  4561. /*[IRF3.5put_character*//*[IRF3.6put_character*/{T48* C1=((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/)));
  4562. T3 b1=((T3)'\173');
  4563. putc(b1,((FILE*)((/*RF2*/(C1)->_output_stream/*4*/))));
  4564. }/*]*/
  4565. /*]*/
  4566. r368put_c_name_tag(C);
  4567. /*[IRF3.3clear*/((((T7*)((T7*)(oBC334c_code))))->_count)=(0);
  4568. /*]*/
  4569. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  4570. /*[IF*/
  4571. if(r368use_current(C)){
  4572. r7extend((T7*)(oBC334c_code),((T3)'1'));
  4573. }
  4574. else{
  4575. r7extend((T7*)(oBC334c_code),((T3)'0'));
  4576. }
  4577. /*FI]*/
  4578. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  4579. /*[IRF3.5append_in*/r2append_in(((T2)((/*RF2*/((T203*)(oBC13c_frame_descriptor_local_count))->_value/*0*/))),oBC334c_code);
  4580. /*]*/
  4581. r7extend((T7*)(oBC334c_code),((T3)'\54'));
  4582. r7append((T7*)(oBC334c_code),oBC13c_frame_descriptor_format);
  4583. r7append((T7*)(oBC334c_code),((T0*)ms334_2226));
  4584. /*[IRF3.5put_string*/r48put_string(((T48*)((/*RF2*/((T325*)(oBC13cpp))->_current_out/*63*/))),oBC334c_code);
  4585. /*]*/
  4586. }
  4587. /*FI]*/
  4588. }
  4589.  
  4590.  
  4591. void r368address_of_c_mapping(T368* C){
  4592. /*[IF*/
  4593. if(r47boost((T47*)(oBC13run_control))){
  4594. /*[IF*/
  4595. if(r368isa_in_line(C)){
  4596. r368address_of_c_mapping_wrapper(C);
  4597. }
  4598.  else if(r368use_current(C)){
  4599. r368mapping_name(C);
  4600. }
  4601. else{
  4602. r368address_of_c_mapping_wrapper(C);
  4603. }
  4604. /*FI]*/
  4605. }
  4606. else{
  4607. r368address_of_c_mapping_wrapper(C);
  4608. }
  4609. /*FI]*/
  4610. }
  4611.  
  4612.  
  4613. T6 r368is_pre_computable(T368* C){
  4614. T6 R=0;
  4615. /*[IF*/
  4616. if(((/*RF2*/(C)->_arguments/*28*/))==((void*)(NULL))){
  4617. /*[IF*/
  4618. if(((/*RF2*/(C)->_routine_body/*40*/))==((void*)(NULL))){
  4619. R=1;
  4620. }
  4621. else{
  4622. /*[IF*/
  4623. if(((/*RF2*/(C)->_local_vars/*36*/))==((void*)(NULL))){
  4624. R=r215is_pre_computable((T215*)((/*RF2*/(C)->_routine_body/*40*/)));
  4625. }
  4626. /*FI]*/
  4627. }
  4628. /*FI]*/
  4629. }
  4630. /*FI]*/
  4631. return R;
  4632. }
  4633.  
  4634.  
  4635. void r368c_frame_descriptor_name_in(T368* C,T0* a1){
  4636. r7extend(((T7*)a1),((T3)'f'));
  4637. r2append_in(r368id(C),a1);
  4638. X82mapping_c_in((/*RF2*/(C)->_name/*12*/),a1);
  4639. }
  4640.  
  4641.